@charset "utf-8";

/* ==========================================
   1. 全域設定與 Header
   ========================================== */
body { 
    font-family: "Montserrat", sans-serif, "Noto Sans TC", sans-serif, "Noto Serif TC", serif;
    background-color: #403d39;
    color: #fff;
}

.path p, 
.path p a,
.me_tp_features {
    display: none;
}

.main_header_area .container {
    max-width: 90%;
}

.header_area {
    background: rgb(64 61 57 / 87%);
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding: 16px 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    position: sticky;
    top: 0px;
}

.header_area.sticky {
    background: rgb(64 61 57 / 88%);
}

.navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

.nav-header {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: flex-start;
}

.nav-brand {
    display: flex;
    align-items: center;
}

.nav-brand img {
    opacity: 0.95;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    width: 160px;
}

.nav-brand:hover img {
    transform: scale(1.02);
    opacity: 1;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.15));
}

.stellarnav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.stellarnav ul {
    text-align: right;
}

.stellarnav > ul > li {
    position: relative;
    margin: 0 4px;
}

.stellarnav > ul > li > a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 0px 15px;
    display: block;
    position: relative;
    z-index: 1;
    transition: color 0.4s ease;
}

.stellarnav > ul > li > a b:nth-of-type(2) {
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 2px;
}

.stellarnav > ul > li:hover > a,
.stellarnav > ul > li.active > a {
    color: #FFF;
    text-shadow: 0 0 10px rgba(243, 229, 190, 0.15);
}

.stellarnav li.has-sub > a:after {
    display: none;
}

.stellarnav > ul > li:before,
.stellarnav > ul > li:after {
    position: absolute;
    top: 50%;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    color: #444;
}

.stellarnav > ul > li:before {
    content: '[';
    left: -5px;
    transform: translateY(-50%) translateX(20px);
}

.stellarnav > ul > li:after {
    content: ']';
    right: -5px;
    transform: translateY(-50%) translateX(-20px);
}

.pageIndex .stellarnav > ul > li:before { 
    color: #fff;
}

.stellarnav > ul > li:hover {
    letter-spacing: 3px;
}

.stellarnav > ul > li:hover::before,
.stellarnav > ul > li:hover:after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
    color: #afafaf;
}

/* 下拉選單 */
.stellarnav ul ul {
    background: rgb(65 61 57);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
}

.stellarnav li li {
    border: none;
}

.stellarnav li li a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    letter-spacing: 2px;
    padding: 10px 0px;
    text-align: center;
    transition: all 0.3s ease;
}

.stellarnav li li:hover > a {
    color: #FFF;
    background: rgba(255, 255, 255, 0.08);
}

/* 商品大選單 (超過30個) */
.stellarnav.desktop li.bigMenu > ul {
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); 
    left: 0; 
    width: 100%; 
    position: fixed; 
    padding: 20px;
}

.stellarnav.desktop li.bigMenu ul ul {
    top: 100%; 
    left: 0; 
    width: 100%; 
    background: #efefef; 
    height: auto; 
    max-height: 300px; 
    overflow: auto;
}

.stellarnav.desktop li.bigMenu ul ul li {
    margin: 0;
} 

.stellarnav.hasBigMenu li.bigMenu li.has-sub > a:after {
    border-left: 6px solid transparent; 
    border-bottom: unset; 
    border-right: 6px solid transparent; 
    border-top: 6px solid #898989; 
    right: 5px;
}

/* ==========================================
   2. 頁尾 Footer
   ========================================== */
.footer {
    background-color: #403D39;
    color: #CCC5B9;
    padding-top: 20px;
    border-top: 1px solid #ccc5b9;
}

.footer .center {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 25px;
}

.footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: contents;
}

.footer ul > li {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer ul > li:first-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 30px;
    padding: 20px 0;
    width: 100%;
}

.footer ul > li:first-child p {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
    font-size: 12px;
    color: #aaaaaa;
}

.footer ul > li:first-child p a {
    color: #cfcfcf;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer ul > li:first-child p a:hover {
    color: #C7AB7F;
}

.footer_info li p.line:before { content: "Line："; font-weight: 700; color: #C7AB7F; }
.footer_info li p.phone:before { content: "Phone："; font-weight: 700; color: #C7AB7F; }
.footer_info li p.taxid:before { content: "Tax："; font-weight: 700; color: #C7AB7F; }
.footer_info li p.add:before { content: "Add："; font-weight: 700; color: #C7AB7F; }

.footer .box_link,
.footer .footer_menu,
.footer .footer_logo img {
    display: none;
}

.footer .footer_info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0px;
    padding-right: 0;
}

.footer .copy {
    background-color: #252321;
    padding: 10px 25px;
    display: flex;
    align-items: center;
    font-size: 9px;
    color: #888888;
    border-top: 1px solid #403d39;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 0px;
    justify-content: center;
}

.footer .copy p, 
.footer .copy span, 
.footer .copy a {
    color: #888888;
    font-size: 9px;
    text-decoration: none;
}

@media (max-width: 600px) {
    .footer ul > li:first-child { 
        flex-direction: column; 
        align-items: center; 
        gap: 10px; 
    }
}

/* ==========================================
   3. 首頁大圖輪播 Banner
   ========================================== */
.bannerindex { 
    position: relative; 
    height: auto;
}

.bannerindex .swiper-banner { 
    position: relative;
}

.bannerindex ~ #content_main { 
    margin-top: 0;
}

@media screen and (max-width: 768px) {
    .bannerindex { padding: 0;}
}

/* 滑動輪播 02 */
.BannerHome02 {
    height: calc(100dvh - var(--header_h));
    position: relative;
}

.BannerHome02 .swiperBan02 { 
    position: static; 
    margin: 0;
}

.BannerHome02 .swiperBan02 .swiper-button-next, 
.BannerHome02 .swiperBan02 .swiper-button-prev {
    border-radius: 50%;
}

.BannerHome02 .swiper-pagination-bullet {
    background: #fff;
}

.BannerHome02 .swiper-slide { 
    position: relative; 
}

.BannerHome02 .swiperBan02 .swiper-slide img { 
    height: auto;
    transform: scale(1.1);
    transition: transform 6s ease-out;
    will-change: transform;
}

.BannerHome02 .swiperBan02 .swiper-slide-active img {
    transform: scale(1);
}

.BannerHome02 .swiper-slide::before,
.BannerHome02 .swiper-slide::after {
    content: "";
    position: absolute;
    z-index: 999;
    pointer-events: none;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    opacity: 0;
    transform: translateZ(0);
    will-change: transform, opacity;
    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.45));
}

.BannerHome02 .swiper-slide::before {
    background-image: url(https://pic03.eapple.com.tw//nextplusdesign/title01.svg);
}

.BannerHome02 .swiper-slide::after {
    background-image: url(https://pic03.eapple.com.tw//nextplusdesign/title02.svg);
}

.BannerHome02 .swiper-slide.swiper-slide-active::before {
    animation: fx3_cinemaZoom 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.3s forwards;
}

.BannerHome02 .swiper-slide.swiper-slide-active::after {
    animation: fx3_cinemaZoom 0.9s cubic-bezier(0.19, 1, 0.22, 1) 0.6s forwards;
}

@keyframes fx3_cinemaZoom {
    0% {
        opacity: 0;
        transform: scale3d(1.15, 1.15, 1);
    }
    100% {
        opacity: 1;
        transform: scale3d(1, 1, 1);
    }
}

@media (max-width: 1400px) { 
    .BannerHome02 { height: auto;}
}

/* 縮圖輪播 03 */
.BannerHome03 .thumbs03 .swiper-slide img,
.BannerHome03 .swiperBan03 .swiper-slide img { 
    height: 100%;
}

@media (max-width: 768px) {
    .BannerHome02 .swiperBan02 .swiper-button-next {
    padding-left: .2em;
    left: calc(var(--swiperBtn-pos) + var(--swiper-navigation-size02) + min(15px, 3vw));
}
}

/* ==========================================
   4. 產品與購物車列表
   ========================================== */
.product_page .main_part { 
    max-width: 1500px;
}

.product_page .show_content,
.product_info_page .show_content { 
    display: flex; 
    justify-content: space-between; 
    flex-wrap: wrap; 
    align-items: flex-start; 
    align-content: flex-start; 
    width: 100%;
}

ul.page,
.ProdFilter_Item_Show { 
    width: 100%;
}

.ProdFilter_ { 
    order: 1; 
    margin-bottom: 25px;
}

.Prods_Menulists { 
    order: 2;
    width: 250px; 
    letter-spacing: 1px;
    padding: 0;
}

.Prods_Wrap { 
    order: 3;
    width: calc(100% - 270px);
}

.Prods_Menulists > ul > li { 
    width: 100%; 
    flex-wrap: wrap;
}

.Prods_Menulists ul ul { 
    position: static; 
    border: none;
}

.Prods_Menulists li.has-sub.open > a { 
    background: #f0f0f0;
}

.product_info_page .half_box { 
    width: 100%; 
    float: none; 
    padding-right: 0;
}

.product_info_page .half_box li.btn_blankTop { 
    margin-top: 50px; 
    justify-content: space-between; 
    display: flex;
}

.product_info_page .half_box li.btn_blankTop input { 
    width: calc(50% - 10px); 
    background-image: none; 
    padding: 0; 
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .product_main,
    .sidebarBtn { 
        display: block; 
        width: 100%;
    }    
}

@media screen and (max-width: 768px) {
    .Prods_Wrap { 
        width: 100%; 
        margin-top: 20px;
    }
    .ProdFilter_ { 
        width: 100%;
    }
    .Prods_Menulists { 
        opacity: 0; 
        display: none;
    }
}

/* ==========================================
   5. 首頁文章區塊 (Module News)
   ========================================== */
.module_i_news {
    padding: 70px 24px 80px;
    background: #3F3C37;
    position: relative;
}

.module_i_news .title_i_box {
    text-align: center;
    position: relative;
    margin-bottom: 56px;
}


.module_i_news_list ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1280px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/* 容器：轉為 inline-flex 靠左垂直排列，加入定位與左側間距給金色飾條 */
.module_i_news .title_i_box {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    position: relative;
    padding-left: 20px;
    margin-bottom: 30px;
}

/* 左側金色裝飾直條 */
.module_i_news .title_i_box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 44%;
    transform: translateY(-50%);
    width: 3px;
    height: 85%;
    background-color: #b59b73;
    border-radius: 1px;
}

/* 上方中文標題：金色、較小字級、加寬字距 */
.module_i_news .title_i_box h6 {
    font-size: 15px;
    font-weight: 500;
    color: #b59b73;
    letter-spacing: 0.28em;
    line-height: 1.2;
    margin: 0;
}

/* 下方英文主標：白色粗體、較大字級、微寬字距 */
.module_i_news .title_i_box h4 {
    font-size: 38px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.12em;
    line-height: 1.1;
    text-transform: uppercase;
    margin: 4px 0 0 0;
}

.module_i_news_list li a {
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #46433E 0%, #3A3833 100%);
    border: 1px solid rgba(204, 197, 184, 0.22);
    border-top: 2px solid #C7AA7E;
    border-radius: 4px;
    overflow: hidden;
    height: 100%;
    text-decoration: none;
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
    position: relative;
}

.module_i_news_list li a:hover {
    transform: translateY(-8px);
    border-color: #C7AA7E;
    box-shadow: 0 20px 35px rgba(0, 0, 0, 0.35), 0 0 15px rgba(199, 170, 126, 0.15);
}

.module_i_news li a:after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 8;
    background: linear-gradient(135deg, rgba(199, 170, 126, 0.12) 0%, rgba(47, 45, 41, 0.75) 100%);
    opacity: 0;
    border: 1px solid #C7AA7E;
    transition: all .5s cubic-bezier(0.25, 1, 0.5, 1);
    pointer-events: none;
    border-radius: 4px;
}

.module_i_news li a:before {
    content: 'READ MORE →';
    position: absolute;
    z-index: 19;
    bottom: 20px;
    right: 20px;
    opacity: 0;
    transform: translateX(-12px);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #C7AA7E;
    background: rgba(47, 45, 41, 0.85);
    padding: 6px 14px;
    border: 1px solid rgba(199, 170, 126, 0.6);
    border-radius: 2px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    transition: all .45s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.module_i_news li a:hover:after {
    opacity: 1;
}

.module_i_news li a:hover:before {
    opacity: 1;
    transform: translateX(0);
    background: #C7AA7E;
    color: #2F2D29;
    border-color: #C7AA7E;
}

.module_i_news_list .i_blog_le {
    width: 100%;
    aspect-ratio: 16 / 11;
    height: auto;
    overflow: hidden;
    position: relative;
    background-color: #2F2D29;
}

.module_i_news_list .i_blog_le::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(63, 60, 55, 0.4) 100%);
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.module_i_news_list .i_blog_le img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease;
    filter: brightness(0.95);
}

.module_i_news_list li a:hover .i_blog_le img {
    transform: scale(1.08);
    filter: brightness(1.03);
}

.module_i_news_list .i_blog_ri {
    padding: 24px 22px 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.module_i_news_list .i_blog_ri em {
    font-style: normal;
    font-size: 11px;
    letter-spacing: 2px;
    color: #C7AA7E;
    margin-bottom: 10px;
    display: block;
    text-transform: uppercase;
}

.module_i_news_list .i_blog_ri h5 {
    font-size: 16px;
    font-weight: 400;
    color: #FFFFFF;
    margin: 0 0 12px 0;
    line-height: 1.5;
    letter-spacing: 1.5px;
    transition: color 0.3s ease;
}

.module_i_news_list li a:hover .i_blog_ri h5 {
    color: #C7AA7E;
}

.module_i_news_list .i_blog_ri p {
    font-size: 13px;
    color: #CCC5B8;
    line-height: 1.8;
    letter-spacing: 0.5px;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    opacity: 0.9;
}

.module_i_news .i_blog_b {
    text-align: center;
    margin-top: 52px;
}

.module_i_news .i_blog_b a {
    display: inline-block;
    padding: 0px 36px;
    border: 1px solid #CCC5B8;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    transition: all 0.4s ease;
    border-radius: 2px;
}

.module_i_news .i_blog_b a:hover {
    border-color: #C7AA7E;
    background: #C7AA7E;
    color: #3F3C37;
}

@media (max-width: 1100px) {
    .module_i_news_list ul { 
        grid-template-columns: repeat(2, 1fr); 
        gap: 22px; 
    }
}

@media (max-width: 640px) {
    .module_i_news { 
        padding: 50px 16px; 
    }
    .module_i_news .title_i_box h4 { 
        font-size: 24px; 
    }
    .module_i_news .title_i_box h4::before,
    .module_i_news .title_i_box h4::after { 
        width: 20px; 
        margin: 0 10px; 
    }
    .module_i_news_list ul { 
        grid-template-columns: 1fr; 
        gap: 20px; 
    }

    .module_i_news li:nth-of-type(2),
    .module_i_news li:nth-of-type(3),
    .module_i_news li:nth-of-type(4){
        display: none;
    }
}

/* ==========================================
   6. 文章與部落格內頁 (Blog)
   ========================================== */
.blog_le {
    padding: 0px;
    width: fit-content;
    display: flex;
    flex-direction: column;
}

.blog_ri {
    padding: 0px;
    width: 100%;
}

h5.blog_le_t,
.toShareNews,
.articel_mainPic img,
.blog_list_ri em {
    display: none;
}

.blog_search input[type=search] {
    border-radius: 10px;
    background: #3F3C37;
    color: #FFFFFF;
    border: 1px solid #CCC5B8;
}

.blog_search input[type=submit] {
    filter: grayscale(1);
}

.blog_le .accordion {
    border: none;
    border-radius: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    margin: 15px 0 0 0;
}

.accordion li .link {
    padding: 2px 0;
    color: #CCC5B8;
    font-size: 16px;
    line-height: 145%;
    letter-spacing: 2px;
    border: 0;
    font-weight: normal;
}

.accordion li .link a {
    font-weight: 400;
    padding: 0px;
    position: relative;
    font-size: 11px;
    color: #FFFFFF;
}

.accordion li .link a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 1px solid #C7AA7E;
    border-radius: 50%;
    margin-right: 10px;
    vertical-align: middle;
    transition: all .5s;
}

.accordion li .link a:hover:before,
.blog_le .accordion > li.on_this_category .link a::before {
    background: #C7AA7E;
}

.accordion li .link:has(i.fa) a,
.accordion li + li .link {
    border: none;
}

.accordion li .link:has(i.fa) {
    padding-right: 22px;
    border: none;
}

.blog_le .accordion li .link i {
    font-size: 12px;
    color: #CCC5B8;
    justify-content: unset;
    width: 15px;
}

.blog_le .accordion > li:hover,
.blog_le .accordion > li.on_this_category {
    background: transparent !important;
}

.blog_le .accordion > li:hover .link,
.blog_le .accordion > li.on_this_category .link,
.blog_le .accordion > li:hover .link a,
.blog_le .accordion > li.on_this_category .link a,
.blog_le .accordion > li:hover .link i,
.blog_le .accordion > li.on_this_category .link i {
    color: #C7AA7E !important;
}

/* 子選單 */
.submenu a {
    background: #3F3C37;
    color: #FFFFFF;
    padding: 10px;
}

.submenu li.on_this_category a,
.submenu a:hover {
    background: #3F3C37;
    color: #C7AA7E;
}

.submenu a i {
    display: none;
}

h4.blog_category_title {
    color: #FFFFFF;
    font-size: 15px;
    margin-bottom: 0px;
    letter-spacing: 1px;
    font-weight: 400;
    font-family: "Inter", sans-serif, "Noto Sans TC", sans-serif;
}

.blog_page.article_a h4.blog_category_title {
    display: none;
}

.article_a h4.blog_category_title::before {
    content: "BLOG";
    display: block;
    font-weight: normal;
    color: #FFFFFF;
    margin: 0 0 10px 0;
    border: 1px solid #CCC5B8;
    padding: 5px 15px;
    font-size: 13px;
    letter-spacing: 0.5px;
    border-radius: 5px;
    width: fit-content;
    background: #3F3C37;
}

.blog_shareData {
    /* position: absolute; */
    display: none;
}

.edit {
    margin: auto;
    padding: 20px 0 90px;
    font-size: 15px;
    color: #FFFFFF !important;
    letter-spacing: 1px !important;
    line-height: 180% !important;
    min-height: 0px;
}

.edit a {
    text-decoration: underline;
    color: #C7AA7E;
}

.blog_back {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-top: 1px solid rgba(204, 197, 184, 0.3);
    border-bottom: 1px solid rgba(204, 197, 184, 0.3);
    gap: 0;
}

.blog_back a {
    width: auto;
}

.blog_back a.article_btn_prev,
.blog_back a.article_btn_next,
.blog_back a.article_btn_back {
    background: transparent;
    color: #FFFFFF;
    letter-spacing: 1px;
    font-weight: 400;
    padding: 8px 16px;
    transition: all .5s;
}

.blog_back a.article_btn_prev:hover,
.blog_back a.article_btn_next:hover,
.blog_back a.article_btn_back:hover {
    background: #C7AA7E;
    color: #3F3C37;
}

/* 相關文章 */
.news_related {
    background: #3F3C37;
    padding: 10px 15px 80px;
}

.news_related h6 {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 30px;
}

.news_related h6 span:before {
    font-size: 16px;
    color: #CCC5B8;
    font-weight: 300;
    letter-spacing: 1px;
}

.news_related h6:before {
    content: 'READ MORE';
    display: block;
    font-size: 16px;
    color: #FFFFFF;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

.news_related_list {
    padding: 30px 0 50px;
}

.news_related_list li a {
    transition: all .5s;
    padding: 10px;
    border: 1px solid rgba(204, 197, 184, 0.25);
    background: #3F3C37;
}

.news_related_list li a img {
    padding-bottom: 10px;
}

.news_related_list li a:hover {
    transform: translateY(-8px);
    border-color: #C7AA7E;
}

.news_related_list li a p {
    font-size: 14px;
    color: #FFFFFF;
    line-height: 180%;
    padding: 0 20px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lastPage {
    font-size: 14px;
    padding: 0px 20px;
    margin: auto;
    height: 30px;
    line-height: 30px;
    width: 150px;
    background: #3F3C37;
    border: 1px solid #CCC5B8;
    color: #FFFFFF;
    z-index: 0;
    position: relative;
}

.lastPage::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background: #C7AA7E;
    transition: all .7s;
    z-index: -1;
}

.lastPage:hover {
    color: #3F3C37;
}

.lastPage:hover:before {
    width: 100%;
}

/* 列表排版 */
.subbox_item {
    display: block;
    width: 100%;
    position: relative;
    border: 1px solid #ccc5b84a;
    border-radius: 5px;
}

.article_a .blog_subbox {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.article_a .subbox_item a {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0px;
}

.article_a .subbox_item a:before,
.article_a .subbox_item a:after {
    display: none;
}

.article_a .subbox_item a:hover:before {
    transform: translate(-50%, -50%) scale(1);
    transition: all 500ms;
}

.article_a .blog_list_le {
    position: relative;
    aspect-ratio: 1.5 / 1;
}

.article_a .blog_list_le img {
    object-fit: cover;
    z-index: 999;
    padding: 10px;
}

.article_a .subbox_item a:hover .blog_list_le img {
    filter: grayscale(1) brightness(0.7);
    padding: 0px;
}

.article_a .blog_list_le:before {
    content: 'READ MORE';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 9999;
    transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-size: 14px;
    opacity: 0;
    letter-spacing: -0.7em;
    transition: all 1s;
    filter: blur(5px);
}

.article_a .subbox_item a:hover .blog_list_le:before {
    opacity: 1;
    letter-spacing: 1px;
    filter: blur(0px);
}

.article_a .blog_list_ri {
    padding: 15px;
    width: 100%;
    border-top: 1px solid #ccc5b84a;
}

.article_a .blog_list_ri h5 {
    color: #FFFFFF;
    letter-spacing: 1px;
    display: flex;
    font-size: 15px;
    padding-bottom: 0px;
    font-weight: 400;
}

.blog_list_ri p {
    font-size: 13px;
    color: #CCC5B8;
    border-top: 1px solid #ccc5b84a;
    padding-top: 5px;
}

/* ==========================================
   7. 聯絡我們 (Contact)
   ========================================== */
.contact_content {
    width: 1024px;
}

.blank_letter {
    font-family: "Montserrat", sans-serif, "Noto Sans TC", serif;
    text-align: center;
    font-weight: 300;
    letter-spacing: 2px;
    font-size: 16px;
    margin: 0 auto;
    padding: 30px 30px 50px 30px;
    display: none;
}

.blank_letter.f {
    position: relative;
}

.blank_letter.f:after {
    content: 'contact';
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
}

.blank_letter.i,
.contact_content .information_left,
.contact_le_map a,
.list_before {
    display: none;
}

.contact_content .information_right {
    width: 100%;
}

.contact_form {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 24px;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.contact_form li {
    width: calc(50% - 12px);
    box-sizing: border-box;
    padding-bottom: 0px;
    display: flex;
    flex-direction: column;
}

.contact_form li.last,
.contact_form li.full,
.contact_form li:has(textarea),
.contact_form li:has(input[type="radio"]),
.contact_form li:has(input[type="checkbox"]) {
    width: 100%;
}

.contact_form li .form__label {
    max-width: 100%;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 2.2em;
    position: relative;
    text-align: left;
    font-weight: 400;
    color: #ffffff;
}

.contact_form li:has(input[type=checkbox]) .form__insert, 
.contact_form li:has(input[type=radio]) .form__insert {
    letter-spacing: 1px;
    text-align: justify;
    gap: 13px;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    color: #fff;
}

.red {
    color: #c2a77d;
    position: absolute;
    left: -17px;
}

.contact_form li input.noborder {
    border: none;
    border-bottom: 1px solid #a9a9a9;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
}

.form select,
.contact_form li textarea.noborder {
    background-color: #fafafa;
    border: 1px solid #a9a9a9;
    box-sizing: border-box;
    width: 100%;
}

.form select {
    font-size: 13px;
    letter-spacing: 1px;
}

.contact_form li.last {
    gap: 0px;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: nowrap;
}

.contact_form li.last cite {
    background: #404040;
    border: none;
    padding: 0px;
}

.contact_form li.last blockquote {
    border: 1px #404040 solid;
    padding: 0px;
}

.contact_form li.checknumBox .form__insert {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    width: 35%;
    flex-direction: row;
    flex-wrap: nowrap;
}

.list_before.info li {
    font-size: 13px;
    letter-spacing: 1px;
}

.info_TEL:before { content: "tel."; font-weight: 300; }
.info_MAIL:before { content: "mail."; font-weight: 300; left: -12px; }
.info_ADD:before { content: "add."; font-weight: 300; left: -10px; }

.contact_le_nomap {
    height: 300px;
    filter: grayscale(1);
    transition: all .5s;
}

.contact_le_nomap:hover {
    filter: grayscale(0);
}

@media screen and (max-width: 1024px) {

.contact_content {
    width: 100%;
}
}

@media screen and (max-width: 768px) {
    .contact_form li {
        width: 100%;
    }
    .contact_content .information_left {
        width: 100%;
        margin-top: 0px;
    }
    .contact_content .information_right {
        width: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }
    .red {
        left: -18px;
    }
    .note {
        top: 67px;
        left: 17px !important;
    }
    .contact_content .information_left::before {
        top: -18%;
    }
}

@media screen and (max-width: 600px) {
    .contact_form li .form__label {
        padding: 0px;
        background: transparent;
    }
}

/* ==========================================
   8. 首頁與內頁作品 (Projects)
   ========================================== */
.banner { display: none; }
.banner.banDesign { background-color: #333; }

/* 首頁作品輪播 (Style 04) */



.ProjSwiper {
    max-width: 1280px;
}

.module_i_projects {
    background-color: #3F3C37;
    padding: 85px 30px;
    color: #ffffff;
    font-family: 'Noto Sans TC', sans-serif;
}

.module_i_projects .title_i_box {
    text-align: left;
    max-width: 1280px;
    margin: 0 auto 40px auto;
    padding-left: 20px;
    position: relative;
}

.module_i_projects .title_i_box:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 92%;
    background-color: #b59b73;
    border-radius: 1px;
}

.module_i_projects .title_i_box h6 {
    font-size: 15px;
    font-weight: 500;
    color: #b59b73;
    letter-spacing: 0.28em;
    line-height: 1.2;
    margin: 0;
}

.module_i_projects .title_i_box h4 {font-size: 38px;font-weight: 700;color: #ffffff;letter-spacing: 0.12em;line-height: 1.1;text-transform: uppercase;margin: 4px 0 0 0;}

.module_i_projects .swiper.ProjSwiper {
    padding-bottom: 60px;
}

.module_i_projects .swiper-slide {
    overflow: hidden;
    position: relative;
    box-shadow: 0 12px 30px rgba(0,0,0,0.45);
}

.module_i_projects .swiper-slide a {
    display: block;
    position: relative;
    text-decoration: none;
}

.module_i_projects .swiper-slide img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s;
}



.module_i_projects .swiper-slide section {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background: rgba(45, 42, 38, 0.78);
    border: 1px solid rgba(199, 170, 126, 0.3);
    padding: 8px 20px;
    transition: all 0.4s ease;
}

.module_i_projects .swiper-slide:hover section {
    background: rgba(38, 35, 31, 0.92);
    border-color: #C7AA7E;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.module_i_projects .swiper-slide section h6 {
    margin: 0;
    font-size: 15px;
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

.module_i_projects .swiper-slide section h6 strong {
    display: block;
    font-size: 12px;
    color: #ccc6b8;
    margin-top: 6px;
    font-weight: 300;
}

.module_i_projects .swiper-pagination-bullet {
    background: #ccc6b8;
}

.module_i_projects .swiper-pagination-bullet-active {
    background: #C7AA7E;
    width: 20px;
    border-radius: 4px;
}

.module_i_projects .i_projects_b {
    text-align: center;
    margin-top: 40px;
}

.ProjSwiper .swiper-button-prev,.ProjSwiper .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 40%);
}

.ProjSwiper li > a:hover:after {
    background: rgb(0 0 0 / 7%);
}



/* 作品列表頁 */
.StoreProjsList,
.StoreProjsList .StoreProjs_Md {
    background-color: #3F3C37;
    color: #ccc6b8;
    box-sizing: border-box;
}



.StoreProjsList .StoreProjs_Md {
    padding: 40px 20px;
    width: 100%;
}

.StoreProjsList .StoreProjs_Item,
.StoreProjsList .StoreProjs_Post {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
}

.StoreProjsList .StoreProjs_Post ul {
    display: grid;
    gap: 32px;
    padding: 20px 0;
    margin: 0;
    list-style: none;
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.StoreProjsList .StoreProjs_Post ul li {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #35322E;
    border: 1px solid rgba(204, 198, 184, 0.12);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}

.StoreProjsList .StoreProjs_Post ul li:hover {
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
    border-color: rgba(199, 170, 126, 0.5);
}

.StoreProjsList .StoreProjs_Post li > a {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    aspect-ratio: 16 / 11;
    position: relative;
    overflow: hidden;
    background-color: #262422;
}

.StoreProjsList .StoreProjs_Post li > a:before,
.StoreProjsList .StoreProjs_Post li > a:after {
    display: none;
    content: none;
}

.StoreProjsList .StoreProjs_Post li img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    filter: brightness(0.92) contrast(1.02);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease;
    z-index: 1;
}

.StoreProjsList .StoreProjs_Post li:hover img,
.StoreProjsList .StoreProjs_Post li > a:hover img {
    transform: scale(1.06);
    filter: brightness(1) contrast(1.05);
}

.StoreProjsList .StoreProjs_Post li section {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: linear-gradient(to top, rgba(30, 28, 26, 0.95) 0%, rgba(45, 42, 38, 0.6) 60%, transparent 100%);
    opacity: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    text-align: left;
    padding: 24px;
    box-sizing: border-box;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.StoreProjsList .StoreProjs_Post li:hover section,
.StoreProjsList .StoreProjs_Post li > a:hover section {
    opacity: 1;
    height: 100%;
}

.StoreProjsList .StoreProjs_Post li section h6 {
    margin: 0;
    width: 100%;
    height: auto;
    overflow: visible;
    color: #ccc6b8;
}

.StoreProjsList .StoreProjs_Post li section h6 b {
    display: block;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.StoreProjsList .StoreProjs_Post li section h6 strong {
    display: block;
    font-size: 13px;
    color: #b3aca0;
    line-height: 1.6;
    font-weight: 300;
    margin: 6px 0 12px 0;
}

.StoreProjsList .StoreProjs_Post li section h6 em {
    display: inline-block;
    font-size: 11px;
    color: #C7AA7E;
    border: 1px solid rgba(199, 170, 126, 0.5);
    background: rgba(199, 170, 126, 0.1);
    border-radius: 20px;
    padding: 3px 12px;
    font-style: normal;
}

.StoreProjsList .StoreProjs_Post li h4 {
    margin: 0;
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.5;
    color: #edeae4;
    font-weight: 400;
    letter-spacing: 1px;
    height: auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #35322E;
    border-top: 1px solid rgba(204, 198, 184, 0.08);
    box-sizing: border-box;
    transition: color 0.3s ease;
}

.StoreProjsList .StoreProjs_Post li:hover h4 {
    color: #C7AA7E;
}

.projsTabs li.Now a {
    color: #c7ab7f;
    font-weight: 1000;
}

/* 作品詳細頁 */
.ProjsDetail_infoBox {
    background-color: #3F3C37;
    color: #ccc6b8;
}

.ProjsDetail_Title h4 {
    color: #ffffff;
}

.ProjsDetail_Intro dd h6 strong {
    color: #C7AA7E;
}


.ProjsDetail_Title p, .ProjsDetail_Intro dd h6, .ProjsDetail_Viewpoint, .txtEdit, .txtEdit p {
    color: #ccc6b8;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 1px;
}
.TxtHouseType {
    color: #C7AA7E;
    border-color: #C7AA7E;
}

.ProjsDetail_Viewpoint {
    font-size: 15px;
    color: #a8a8a8;           /* 依截圖配色的質感灰 */
    line-height: 1.85;
    letter-spacing: 0.05em;
    padding-top: 10px;
}

/* 純 CSS 在上方生成「設計理念」標題與白色裝飾直線 */
.ProjsDetail_Viewpoint::before {
    content: "設計理念";
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    color: #b59b73;           /* 金褐色 */
    letter-spacing: 1px;
    line-height: 1;
    margin-bottom: 22px;
    padding-right: 14px;
     /* 右側白色裝飾直線 */
    height: 20px;
}

.ProjsDetail_Intro em.TxtHouseType {
    color: #fff;
    font-weight: 300;
}

.ProjsDetail_Bottom {
    background: #3f3c37;
}

.ProjsDetail_Bottom a {
    color: #fff;
    border-color: #ccc6b8;
}

.ProjsDetail_Bottom a:hover {
    color: #ffffff;
    border-color: #C7AA7E;
}

.ProjsDetail_Bottom .ProjsBtn_Back {
    background-color: #C7AA7E;
    border-color: #C7AA7E;
    color: #3F3C37;
}

.ProjsDetail_Bottom .ProjsBtn_Back:hover {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #3F3C37;
}

.ProjsDetail_OtherObjs > h6 {
    color: #f3f3f3;
}

.ProjsDetail_Title p {
    color: var(--FontColor);
}
.ProjsDetail_Title p a {
    background: transparent;
    width: 20px;
    border-radius: 4px;
    height: 20px;
}
.ProjsDetail_Title p a.Btn_Share_LINE {
    background: #fff;
}

.ProjsDetail_Title p a.Btn_Share_LINE::before {
    content: "\f3c0";
    font-family: 'Font Awesome 6 Brands';
    font-size: 20px;
    color: #c7aa7e;
    background: transparent;
}
.ProjsDetail_Title p a.Btn_Share_FB::before {
    content: "\f39e";
    font-family: 'Font Awesome 6 Brands';
    font-size: 15px;
    color: #c7aa7e;
    background: transparent;
}

.ProjsDetail_Title h4 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 400;
}

@media (max-width: 640px) {
.module_i_projects .title_i_box h4{
        font-size: 24px;
    }
}


/* ==========================================
   9. 通用按鈕元件 (.animated-arrow)
   ========================================== */
.animated-arrow,
a.animated-arrow,
button.animated-arrow,
input[type="submit"].animated-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 180px;
    height: 46px;
    line-height: 46px;
    padding: 0 28px;
    background-color: transparent;
    color: #FFFFFF;
    border: 1px solid rgba(204, 198, 184, 0.45);
    border-radius: 2px;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    vertical-align: middle;
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.animated-arrow b,
.animated-arrow span {
    font-family: "Montserrat", "Noto Sans TC", sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2.5px;
    color: inherit;
    position: relative;
    z-index: 2;
    transition: color 0.4s ease;
}

.animated-arrow i,
.animated-arrow svg {
    font-size: 13px;
    color: #C7AA7E;
    position: relative;
    z-index: 2;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), color 0.4s ease;
}

.animated-arrow::before {
    content: '';
    position: absolute;
    inset: 0;
    width: 0%;
    height: 100%;
    background-color: #C7AA7E;
    z-index: 1;
    transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.animated-arrow:hover,
a.animated-arrow:hover {
    border-color: #C7AA7E;
    color: #3F3C37;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25), 0 0 12px rgba(199, 170, 126, 0.2);
    transform: translateY(-2px);
}

.animated-arrow:hover::before {
    width: 100%;
}

.animated-arrow:hover b,
.animated-arrow:hover span,
.animated-arrow:hover i,
.animated-arrow:hover svg {
    color: #3F3C37;
}

.animated-arrow:hover i,
.animated-arrow:hover svg {
    transform: translateX(5px);
}

.animated-arrow:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* 特殊區塊按鈕微調 */
.contact_form li.last .animated-arrow,
.last .animated-arrow {
    background-color: transparent;
    border: 1px solid #C7AA7E;
    color: #FFFFFF;
    width: auto;
    min-width: 200px;
}

.contact_form li.last .animated-arrow:hover,
.last .animated-arrow:hover {
    background-color: transparent;
    border-color: #C7AA7E;
}

.module_i_projects .i_projects_b a.animated-arrow {
    background: transparent;
    border: 1px solid rgba(204, 198, 184, 0.5);
    color: #FFFFFF;
}

.module_i_projects .i_projects_b a.animated-arrow:hover {
    border-color: #C7AA7E;
    color: #3F3C37;
}

/* ==========================================
   10. 全域響應式斷點 (RWD)
   ========================================== */
@media screen and (max-width: 768px) {
    .footer.with_shopping_mode { 
        padding: 30px 0 30px; 
    }
.StoreProjsList .StoreProjs_Post ul {
        grid-template-columns: repeat(1fr);
}

    .header_area {
backdrop-filter: none;
}
#bottom_menu li {
    background: #cbc5b7;
}
.module_i_projects .swiper-slide section h6{font-weight: 300;}
.footer .copy{gap:0}
#bottom_menu {display: flex;}

#to_top { display: none !important;}
    .stellarnav.mobile {
        top: 15px;
    }
    #bottom_menu li a em{display: none;}
    .stellarnav > ul > li > a:before{display: none;}
.stellarnav .menu-toggle span.bars span {
    height: 2px;
    background: #FFF;
}
.stellarnav li li > a, .stellarnav li li.has-sub > a {
    padding: 8px 9px 8px 20px;
        border-left: 1px solid #FFF;
    margin-left: 30px;
}
.stellarnav .menu-toggle:after{display: none;}
.stellarnav.mobile li.open li.open {
    padding: 0px;
    background: #222222;
}
.stellarnav.mobile.right .close-menu, .stellarnav.mobile.left .close-menu {
    background: #222222;
}
    .stellarnav.mobile li.open {
        background: #222222;
        padding: 20px;
    }
  .stellarnav.mobile ul ul ul {
    margin-left: 30px;
  }
  .stellarnav li li {
    border:none
}

    .stellarnav.mobile > ul > li > a {
        display: flex;
        align-items: flex-start;
        border: none;
        flex-direction: column;
    }
    .stellarnav.mobile li a {
    font-size: 14px;
}
.stellarnav.mobile ul {
    background: #403d38;
}
.stellarnav > ul > li::after{
  display: none;
}
.stellarnav > ul > li > a b:nth-of-type(2) {
    font-size: 8px;
}
.stellarnav.mobile li li.has-sub a {
        padding: 8px 9px 8px 20px;}

.stellarnav.mobile.left > ul {
top: -1px; 
}
.stellarnav.mobile > ul > li {
    padding: 20px;
}

.stellarnav.mobile > ul > li > a.dd-toggle {
    top: 20px;
}

.stellarnav a.dd-toggle .icon-plus:after,.stellarnav a.dd-toggle .icon-plus:before {
    border-bottom: solid 2px #FFF;
}

.stellarnav > ul > li::before {
    width: 2px;
    background-color: #FFF;
}

.stellarnav > ul > li:hover::before, .stellarnav > ul > li:hover:after{
    display: none;
}

}






@media screen and (max-width: 600px) {
    .animated-arrow,
    a.animated-arrow,
    .last .animated-arrow {
        min-width: 100%;
        width: 100%;
        height: 42px;
        line-height: 42px;
        padding: 0 16px;
    }


.BannerHome02 .swiperBan02 .swiper-slide img {
    height: 500px;
}


.BannerHome02 .swiper-slide::before {
    background-image: url(https://pic03.eapple.com.tw//nextplusdesign/title03.svg);
}

.BannerHome02 .swiper-slide::after {
    background-image: url(https://pic03.eapple.com.tw//nextplusdesign/title04.svg);
}


.BannerHome02 .swiper-slide::before{
       width: 42% !important;
       height: 63% !important;
       left: unset;
       top: 61px;
       right: 53px;
}


.BannerHome02 .swiper-slide::after{
    width: 42% !important;
    height: 63% !important;
    top: 115px;
    left: unset;
    right: 23px;
}

}