
/* UCE365 — miratap visual clone (pixel-accurate) */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700&display=swap');
body,#header,#footer,#side,#btmBox,#header *,#footer *,#gNavi *{font-family:"Noto Sans TC","Microsoft JhengHei","PingFang TC","Hiragino Kaku Gothic Pro",Meiryo,sans-serif!important}

/* Reset */
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px}
body{color:#333;background:#fff;line-height:150%}
a{color:#333;text-decoration:none}
a:hover{opacity:.6}
img{max-width:100%;height:auto;border:0}
ul,ol{list-style:none}
table{border-collapse:collapse}
.boxinner{width:1200px;margin:0 auto}
.wrapper{max-width:1200px;margin:0 auto}
.clearfix::after{content:"";display:table;clear:both}

/* === HEADER (miratap exact: h=129, transparent bg) === */
#header{background:transparent;border-bottom:1px solid #d2d0d0}
.headerUpper{margin-bottom:18px}
.header_logo{float:left;padding:16px 0 0}
.header_logo a{display:block}
.logo-text{font-size:24px;font-weight:700;color:#1e1e1e;letter-spacing:1px}
.logo-sub{font-size:12px;color:#999;margin-left:6px;font-weight:400}
#userNavi{float:right;padding-top:20px}
#userNavi>div{display:inline-block;vertical-align:middle}
#userNavi>div+div::before{content:"";display:inline-block;width:1px;height:30px;background:#e1e1e1;vertical-align:middle;margin:0 10px}

/* Search bar (miratap: #f0f0f0 bg, not dark) */
#keySearch{display:inline-block;vertical-align:middle}
#keySearch form{display:flex;align-items:center}
#keySearch select{border:none;width:160px;height:30px;background:#f0f0f0;font-size:12px;padding:0 8px;color:#333}
#keySearch input[type='text'],#keySearch input[type='search']{border:none;width:220px;height:30px;background:#f0f0f0;font-size:14px;padding:0 3px;color:#333}
#keySearch input::placeholder{color:#999}
#keySearch button{width:50px;height:30px;background:#666;color:#fff;border:none;cursor:pointer;font-size:0;background-image:none}
#keySearch button::after{content:"搜尋";font-size:12px}

/* MyPage / Cart */
#toMyPage,#cartBox{display:inline-block;vertical-align:middle;font-size:12px;padding:0 8px}
#toMyPage a,#cartBox a{color:#333}
.cart-count{background:#f00;color:#fff;border-radius:50%;padding:1px 5px;font-size:10px}

/* === NAV (flexbox instead of table — flex supports position:relative on items) === */
#gNavi{border-top:1px solid #d2d0d0}
#gNavi>ul{display:flex;max-width:1200px;margin:0 auto;padding:0;list-style:none}
#gNavi>ul>li{flex:1;text-align:center;cursor:pointer;border-right:1px solid #e1e1e1;position:relative}
#gNavi>ul>li:last-child{border-right:none}
#gNavi>ul>li>a{display:block;height:59px;line-height:59px;text-align:center;font-size:14px;color:#333;border-bottom:3px solid transparent}
#gNavi>ul>li:hover>a{border-bottom-color:#030202}

/* === MEGA DROPDOWN — positioned relative to each <li> (works with flex) === */
.ddMenu{display:none;position:absolute;top:59px;left:0;z-index:1000;background:#fff;box-shadow:3px 3px 15px rgba(0,0,0,.2);padding:20px 0;width:600px}
.hasMenu:hover .ddMenu{display:block}
.hasMenu:hover>a{border-bottom-color:#030202}
.ddMenu-inner{width:100%;padding:0 16px}
.ctg-grid{display:flex;flex-wrap:wrap;gap:0;padding:0;list-style:none}
.ctg-grid li{width:33.33%;padding:0;list-style:none}
.ctg-grid li a{display:flex;align-items:center;gap:10px;color:#333;text-decoration:none;font-size:13px;padding:8px 10px}
.ctg-grid li a:hover{background:#f5f5f5;opacity:1}
.ctg-grid li img{width:80px;height:52px;object-fit:cover;flex-shrink:0;display:block}

/* List-style dropdown (non-category menus) */
.ddMenu-list{width:220px}
.dd-links{padding:0;list-style:none}
.dd-links li{padding:0;list-style:none}
.dd-links li a{display:block;padding:10px 20px;font-size:13px;color:#333;text-decoration:none;border-bottom:1px solid #f3f1f1}
.dd-links li a:hover{background:#f5f5f5;opacity:1}
.dd-links li:last-child a{border-bottom:none}

/* Right-side menus: align dropdown to right edge to stay in viewport */
.gNavi_support .ddMenu,.gNavi_service .ddMenu{left:auto;right:0}

/* === HERO (miratap exact: FULL-WIDTH, slidesPerView:auto, 700px slides, 502px) === */
#miratopIndexMain{background:#d6d6d6;position:relative;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%)}
#miratopIndexMainSlide{position:relative;width:100%}
#heroSwiper{overflow:hidden;height:502px;width:100%}
#heroSwiper .swiper-slide{width:700px;height:502px;overflow:hidden}
#heroSwiper .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-controls-wrapper{background:#fff;border-bottom:1px solid #e1e1e1}
.hero-controls{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 0}
.hero-nav-prev,.hero-nav-next{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#333;background:#fff;border:none}
.hero-nav-prev:hover,.hero-nav-next:hover{color:#000}
#heroDots{position:static;display:flex;gap:8px;justify-content:center}
#heroDots .swiper-pagination-bullet{width:12px;height:12px;background:#d2d0d0;opacity:1;border-radius:0}
#heroDots .swiper-pagination-bullet-active{background:#323232}

/* === NEWS TICKER (miratap: full-width, red label, dates, white bg) === */
#miratopIndexInformation{background:#fff;border-bottom:1px solid #e1e1e1;border-top:1px solid #e1e1e1;padding:16px 0}
.info-container{display:flex;align-items:flex-start;font-size:12px;max-width:1200px;margin:0 auto}
.info-label{background:#d32f2f;color:#fff;padding:4px 12px;font-size:11px;font-weight:700;white-space:nowrap;margin-right:16px;flex-shrink:0}
.info-list{flex:1;line-height:2}
.info-item{display:block;margin-bottom:2px}
.info-date{color:#999;margin-right:8px}
.info-tag{color:#d32f2f;font-weight:700;margin-right:4px}
.info-more{white-space:nowrap;margin-left:16px;color:#333;font-size:11px;flex-shrink:0}

/* === TABS (miratap: 4 tabs with underline, image cards below) === */
#miratopIndexTab{padding:30px 0;background:#fff;border-bottom:1px solid #e1e1e1}
.tab-nav{display:table;width:100%;table-layout:fixed;border:2px solid #323232;margin-bottom:24px}
.tab-nav li{display:table-cell;text-align:center;padding:14px 0;font-size:14px;cursor:pointer;color:#999;background:#fff;border-right:1px solid #e1e1e1}
.tab-nav li:last-child{border-right:none}
.tab-nav li.tab-active{color:#fff;background:#3a3a3a;font-weight:700}
.tab-nav li:hover{color:#323232}
.tab-panel{display:none}
.tab-panel.tab-active{display:block}

/* === CATEGORY TILES (miratap: 5 per row, large lifestyle photos) === */
#indexCategoryTile{padding:40px 0;background:#fff}
.indexCategoryTileContainer{max-width:1200px;margin:0 auto}
#indexCategoryTile .title{font-size:16px;font-weight:400;text-align:center;margin-bottom:30px;letter-spacing:2px;color:#323232}
#indexCategoryTile .tiles{display:flex;flex-wrap:wrap;padding:0}
#indexCategoryTile .tiles li{width:20%;padding:0 4px;margin-bottom:16px}
#indexCategoryTile .tiles li a{display:block;color:#323232;text-decoration:none}
#indexCategoryTile .tiles li a:hover{opacity:.6}
.ctgImg{margin-bottom:6px}
.ctgImg img{width:100%;height:auto;display:block}
.ctgName{font-size:12px;font-weight:400;text-align:left}

/* Section titles */
.contents .title{font-size:16px;font-weight:400;text-align:center;margin-bottom:24px;letter-spacing:2px}

/* === PRODUCT GRID (miratap: 4 per row, no border, transparent) === */
.product-grid{display:flex;flex-wrap:wrap;margin:0 -10px}
.product-card{width:25%;padding:0 10px;margin-bottom:20px}
.product-card-link{display:block;color:inherit;text-decoration:none}
.product-card-link:hover{opacity:.6}
.product-card-image{aspect-ratio:1;overflow:hidden;background:#f5f5f5;margin-bottom:8px;position:relative}
.product-card-image img{width:100%;height:100%;object-fit:cover}
.product-card-name{font-size:12px;line-height:1.5;margin-bottom:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.product-card-price{font-size:14px;font-weight:700}
.product-card-price .unit,.product-card-price .tax-label{font-size:11px;font-weight:400;color:#666}
.product-card-stock{font-size:11px;margin-top:2px}
.product-card-stock.no-stock{color:#f00}
.status-badge{position:absolute;top:4px;left:4px;padding:2px 6px;font-size:10px;color:#fff}
.status-badge.sold-out{background:#f00}
.maker-direct-badge{font-size:10px;background:#aa996d;color:#fff;padding:1px 4px}
.product-grid-empty{text-align:center;padding:40px;color:#999}
.result-count{font-size:12px;color:#666;margin-bottom:12px}

/* === PRODUCT DETAIL (miratap exact) === */
#productContainer{background:#fff}
#productsInfo{display:flex;padding:20px 0}
#prPhoto{width:50%}
#prPhoto #photoMain img{width:100%;cursor:crosshair}
.photo-list{display:flex;gap:4px;margin-top:8px}
.photo-list li{width:56px;height:56px;border:1px solid #e1e1e1;cursor:pointer;overflow:hidden}
.photo-list li.current{border-color:#323232}
.photo-list li img{width:100%;height:100%;object-fit:cover}
#prData{width:50%;padding-left:30px}
#prData h1{font-size:22px;font-weight:400;line-height:1.5;margin-bottom:10px}
.sku-code{font-size:12px;color:#999;margin-bottom:16px}
.priceDispArea{margin:16px 0}
.priceDispArea .price{font-size:30px;font-weight:700}
.priceDispArea .unit{font-size:14px;color:#666}
.priceDispArea .tax-info{font-size:12px;color:#666}
.product-specs-primary dt{font-size:12px;color:#666;float:left;width:90px;padding:8px 0;clear:left;border-bottom:1px solid #f3f1f1}
.product-specs-primary dd{padding:8px 0;margin-left:100px;border-bottom:1px solid #f3f1f1;font-size:13px}
.product-variants{margin:16px 0}
.variant-list{display:flex;flex-wrap:wrap;gap:4px}
.variant-list li{border:1px solid #d2d0d0;padding:2px}
.variant-list li.current{border-color:#323232;border-width:2px}
.variant-list li.no-stock{opacity:.4}
.variant-list li img{width:40px;height:40px;object-fit:cover}
.stock-status{font-size:13px;padding:8px 0}
.stock-status.in-stock{color:#323232}
.stock-status.out-of-stock{color:#f00}
.stock-status.made-to-order{color:#0aa}
.add-to-cart-form{margin:16px 0;padding:16px 0;border-top:1px solid #e1e1e1}
.add-to-cart-form input[type="number"]{width:50px;padding:6px;border:1px solid #d2d0d0;text-align:center;margin-right:8px}
.btn-add-cart{background:#1e1e1e;color:#fff;padding:12px 40px;border:none;cursor:pointer;font-size:14px}
.btn-add-cart:hover{opacity:.6}
.btn-sold-out{background:#ccc;color:#666;padding:12px 40px;border:none;cursor:not-allowed}
#productsDetail{border-top:1px solid #e1e1e1;padding:20px 0}
.spec-table th{text-align:left;padding:8px 12px;background:#f5f5f5;border:1px solid #e1e1e1;width:120px;font-size:12px}
.spec-table td{padding:8px 12px;border:1px solid #e1e1e1;font-size:13px}

/* === CATEGORY LIST === */
.category-layout{display:flex}
.category-sidebar{width:180px;flex-shrink:0;padding-right:20px}
.category-main{flex:1;padding-left:20px}
.category-main h1{font-size:22px;font-weight:400;margin-bottom:20px}
.subcategory-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.subcategory-item a{display:block;text-align:center;font-size:11px}
.subcategory-item img{width:100px;height:100px;object-fit:cover;margin-bottom:4px}
.facet-panel{padding:12px;border:1px solid #e1e1e1;font-size:12px}
.facet-title{font-size:13px;font-weight:700;margin-bottom:8px}
.facet-group{margin-bottom:12px;border:none}
.facet-group legend{font-size:12px;margin-bottom:4px}
.price-range{display:flex;align-items:center;gap:4px}
.price-range input{width:60px;padding:4px;border:1px solid #d2d0d0;font-size:12px}
.btn-filter{width:100%;padding:8px;background:#1e1e1e;color:#fff;border:none;cursor:pointer;font-size:12px}
.btn-clear{display:block;text-align:center;margin-top:6px;font-size:11px}

/* Pagination */
.pagination{padding:20px 0;text-align:center}
.pagination-list{display:flex;justify-content:center;gap:2px}
.pagination-list li a,.pagination-list li span{display:inline-block;padding:6px 12px;border:1px solid #d2d0d0;font-size:12px}
.pagination-list li.current span{background:#323232;color:#fff;border-color:#323232}

/* Breadcrumb */
#topicPath{padding:10px 0;font-size:11px;color:#999}
#topicPath a{color:#4d4399}
.breadcrumb-list{display:flex;flex-wrap:wrap;font-size:11px}
.breadcrumb-list li::after{content:" > ";margin:0 4px;color:#ccc}
.breadcrumb-list li:last-child::after{content:""}

/* === FOOTER (miratap exact) === */
#btmBox{background:#7c7c7c;color:#fff;padding:30px 0;text-align:center}
#btmBox a{color:#fff}
.contactBox{max-width:1200px;margin:0 auto}
#footNav{background:#1e1e1e;padding:40px 0}
.footNav-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.footNav-inner dl dt{color:#fff;font-size:13px;font-weight:700;margin-bottom:10px}
.footNav-inner dl dd a{color:#999;font-size:11px}
.footNav-inner dl dd a:hover{color:#fff;opacity:1}
.snsBtnList{text-align:center;padding:16px 0;background:#1e1e1e;border-top:1px solid #333}
.snsBtnList a{display:inline-block;margin:0 6px;color:#999;font-size:12px}
#footer{background:#111;text-align:center;padding:16px 0;color:#666;font-size:11px}

/* === FEATURES === */
.feature-grid{display:flex;justify-content:center;gap:40px;text-align:center;padding:20px 0}
.feature-item{width:200px}
.feature-icon{font-size:28px;display:block;margin-bottom:8px}
.feature-item h3{font-size:13px;margin-bottom:4px}
.feature-item p{font-size:11px;color:#666}
.section-contact{text-align:center;padding:30px 0;background:#f5f5f5}

/* === SERIES === */
.series-hero-image{width:100%}
.series-hero-info h1{font-size:22px;font-weight:400}
.series-anchor-nav{border-bottom:1px solid #e1e1e1;margin-bottom:20px}
.anchor-menu{display:flex}
.anchor-menu li a{display:block;padding:12px 20px;font-size:13px;color:#323232;border-bottom:3px solid transparent}
.anchor-menu li a:hover{border-bottom-color:#323232;opacity:1}

/* === BUTTONS === */
.btn-primary,.btn-checkout,.btn-place-order,.btn-login,.btn-register,.btn-contact{display:inline-block;background:#1e1e1e;color:#fff;padding:10px 30px;border:none;cursor:pointer}
.btn-primary:hover,.btn-checkout:hover{opacity:.6;text-decoration:none}
.btn-secondary,.btn-continue,.btn-back-cart{display:inline-block;background:#fff;color:#323232;padding:10px 30px;border:1px solid #d2d0d0}

/* === CART/CHECKOUT === */
.cart-page h1,.checkout-page h1{font-size:22px;font-weight:400;margin-bottom:16px}
.cart-table{width:100%}
.cart-table th{background:#f5f5f5;padding:10px 12px;font-size:12px;border-bottom:1px solid #e1e1e1;text-align:left}
.cart-table td{padding:10px 12px;border-bottom:1px solid #f3f1f1;font-size:13px}
.qty-input{width:40px;text-align:center;padding:4px;border:1px solid #d2d0d0}
.cart-summary{padding:20px 0}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}
.summary-row.total{border-top:2px solid #323232;font-size:18px;font-weight:700;padding-top:16px}
.free-shipping{color:#0a0}
.cart-actions{display:flex;gap:12px;margin-top:20px}
.cart-empty{text-align:center;padding:60px 0}
.checkout-layout{display:flex;gap:30px}
.checkout-info{flex:1}
.checkout-summary{width:360px}
.form-section{border:none;margin-bottom:20px}
.form-section legend{font-size:15px;font-weight:700;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e1e1e1}
.form-field{margin-bottom:12px}
.form-field label{display:block;margin-bottom:4px;font-size:12px}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:8px;border:1px solid #d2d0d0;font-size:13px}
.form-row{display:flex;gap:12px}
.form-row .form-field{flex:1}
.required{color:#f00}
.order-summary-card{border:1px solid #e1e1e1;padding:20px;position:sticky;top:80px}

/* === AUTH/ERROR/LEGAL/SEARCH/ACCOUNT/FAQ/GALLERY/SHOWROOM === */
.auth-page{display:flex;justify-content:center;padding:60px 0}
.auth-card{width:380px;border:1px solid #e1e1e1;padding:30px}
.auth-card h1{font-size:18px;font-weight:400;margin-bottom:20px;text-align:center}
.auth-error{background:#fdf7f2;border:1px solid #f00;color:#f00;padding:10px;margin-bottom:16px;font-size:13px}
.auth-links{text-align:center;margin-top:16px;font-size:12px}
.auth-form .btn-login,.auth-form .btn-register{width:100%;text-align:center}
.error-page{text-align:center;padding:80px 0}
.error-code{font-size:80px;font-weight:700;color:#d2d0d0}
.error-page h1{font-size:18px;font-weight:400;margin:12px 0}
.error-actions{margin-top:24px;display:flex;gap:12px;justify-content:center}
.legal-page{max-width:800px;margin:20px auto;padding:30px;background:#fff}
.legal-page h1{font-size:18px;font-weight:400}
.legal-date{color:#999;font-size:12px;margin-bottom:20px}
.legal-page h2{font-size:14px;font-weight:700;margin:20px 0 8px}
.legal-page ul{padding-left:20px;list-style:disc;font-size:13px}
.search-results-page h1{font-size:18px;font-weight:400}
.search-query{font-size:12px;color:#666}
.search-form-inline{display:flex;gap:4px;margin:12px 0 20px}
.search-form-inline input{flex:1;padding:8px;border:1px solid #d2d0d0;font-size:13px}
.search-form-inline button{padding:8px 16px;background:#1e1e1e;color:#fff;border:none}
.no-results{text-align:center;padding:40px 0}
.search-suggestions{list-style:disc;padding-left:20px;text-align:left;display:inline-block;font-size:13px}
.account-page h1{font-size:18px;font-weight:400;margin-bottom:16px}
.account-nav{display:flex;border-bottom:1px solid #e1e1e1;margin-bottom:20px}
.account-nav a{padding:10px 16px;font-size:13px;color:#323232;border-bottom:2px solid transparent}
.account-nav a.active{border-bottom-color:#323232;font-weight:700}
.orders-table th{background:#f5f5f5;padding:8px 10px;font-size:12px;text-align:left}
.orders-table td{padding:8px 10px;border-bottom:1px solid #f3f1f1;font-size:13px}
.order-status{padding:2px 6px;font-size:11px}
.faq-item{border-bottom:1px solid #e1e1e1}
.faq-question{padding:14px 0;font-size:14px;cursor:pointer;list-style:none}
.faq-question::-webkit-details-marker{display:none}
.faq-question::before{content:"Q. ";font-weight:700;color:#aa996d}
.faq-answer{padding:0 0 14px 24px;font-size:13px;color:#666;line-height:1.8}
.gallery-grid{display:flex;flex-wrap:wrap;gap:16px}
.gallery-card{width:calc(33.33% - 11px)}
.showroom-grid{display:flex;flex-wrap:wrap;gap:20px}
.showroom-card{width:calc(50% - 10px);border:1px solid #e1e1e1}
.showroom-info{padding:16px}
.showroom-info h2{font-size:15px;font-weight:400}
.page-intro{font-size:13px;color:#666;margin-bottom:20px;line-height:1.8}
.no-data{text-align:center;padding:40px;color:#999}

/* === RESPONSIVE === */
.pc-only,.pc{display:block}
.sp-only,.sp{display:none!important}
@media(max-width:768px){
.pc-only,.pc{display:none!important}
.sp-only,.sp{display:block!important}
.boxinner,.wrapper{width:100%;padding:0 10px}
.headerUpper{margin-bottom:8px}
.header_logo{float:none;text-align:center;padding:8px 0}
#userNavi{float:none;display:flex;justify-content:center;padding:8px 0;flex-wrap:wrap}
#gNavi>ul{display:flex;overflow-x:auto}
#gNavi>ul>li{display:block;white-space:nowrap}
#gNavi>ul>li>a{width:auto;height:auto;line-height:1;padding:10px 16px}
#productsInfo{flex-direction:column}
#prPhoto,#prData{width:100%;padding:0}
#prData{padding-top:16px}
.category-layout{flex-direction:column}
.category-sidebar{display:none}
.category-main{padding:0}
.product-card{width:50%}
.checkout-layout{flex-direction:column}
.checkout-summary{width:100%}
.footNav-inner{grid-template-columns:repeat(2,1fr)}
.feature-grid{flex-wrap:wrap}
.feature-item{width:45%}
#indexCategoryTile .tiles li{width:50%}
.tab-nav{display:flex;overflow-x:auto}
.tab-nav li{display:block;white-space:nowrap;flex-shrink:0}
.gallery-card{width:calc(50% - 8px)}
.showroom-card{width:100%}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
