/*
Theme Name: 慕木家具 MUWOOD v5.6.5
Theme URI: https://muwood.com
Description: 慕木家具企业官网WordPress主题 - 现代简约、原木暖色调、高端大气，适配PC与移动端
Version: 5.6.5
Author: MUWOOD
Author URI: https://muwood.com
License: GPL-2.0+
Text Domain: muwood
*/

/* ============================================
   慕木家具 MUWOOD - 现代简约高端家具
   配色：原木暖色调  |  Modern Warm Wood
   ============================================ */

/* === Reset & Variables === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:'PingFang SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;overflow-x:hidden}

:root{
  --primary:#b8956a;
  --primary-dark:#8b6d4a;
  --primary-darker:#6b5230;
  --primary-light:#dcc8a8;
  --primary-lighter:#f0e4d4;
  --accent:#c49a6c;
  --accent-dark:#a87d52;
  --bg:#fdfaf5;
  --bg-alt:#f7f1e8;
  --bg-warm:#faf3e8;
  --bg-cream:#f5ede1;
  --bg-dark:#3d3226;
  --bg-darker:#2c2416;
  --text:#3d3226;
  --text-light:#6b5d4f;
  --text-muted:#9a8c7e;
  --white:#ffffff;
  --border:#e5d5c0;
  --border-light:#f0e4d4;
  --shadow-sm:0 2px 8px rgba(61,50,38,.06);
  --shadow:0 4px 20px rgba(61,50,38,.10);
  --shadow-lg:0 12px 40px rgba(61,50,38,.12);
  --shadow-xl:0 20px 60px rgba(61,50,38,.15);
  --radius:8px;
  --radius-sm:4px;
  --radius-lg:16px;
  --radius-xl:24px;
  --transition:all .35s cubic-bezier(.25,.46,.45,.94);
  --max-width:1200px;
  --header-h:80px;
}

/* === Typography === */
h1,h2,h3,h4{font-weight:600;line-height:1.3;color:var(--text)}
h1{font-size:clamp(2rem,4vw,3.2rem)}
h2{font-size:clamp(1.6rem,3vw,2.4rem)}
h3{font-size:clamp(1.1rem,2vw,1.4rem)}
p{color:var(--text-light)}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea{font-family:inherit;font-size:1rem}

/* === Utility === */
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}
.section{padding:100px 0}
.section-header{text-align:center;margin-bottom:60px}
.section-header .subtitle{display:inline-block;font-size:.85rem;letter-spacing:3px;color:var(--primary);text-transform:uppercase;margin-bottom:12px;position:relative;padding:0 30px}
.section-header .subtitle::before,.section-header .subtitle::after{content:'';position:absolute;top:50%;width:20px;height:1px;background:var(--primary)}
.section-header .subtitle::before{left:0}
.section-header .subtitle::after{right:0}
.section-header h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:12px}
.section-header .desc{color:var(--text-muted);font-size:.95rem;max-width:560px;margin:0 auto}
.bg-alt{background:var(--bg-alt)}

/* === Header === */
.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:var(--transition);height:var(--header-h)}
.admin-bar .header{top:32px}
.header.scrolled{background:rgba(255,255,255,.98);border-bottom-color:var(--border-light);box-shadow:var(--shadow-sm)}
.header .container{display:flex;align-items:center;justify-content:space-between;height:100%}

/* Logo */
.header .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:1.15rem;font-weight:700;letter-spacing:1px;white-space:nowrap}
.header .logo img{display:block;width:42px;height:42px;flex-shrink:0}
.header .logo .site-subtitle{font-size:.75rem;font-weight:400;color:var(--text-muted);letter-spacing:.5px;margin-left:4px;padding-left:8px;border-left:1px solid var(--border);white-space:nowrap}

/* WP Nav Menu */
.main-nav{display:flex;align-items:center}
.main-menu{display:flex;align-items:center;gap:36px}
.main-menu li a{font-size:.95rem;color:var(--text-light);position:relative;padding:4px 0;transition:var(--transition)}
.main-menu li a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:var(--transition)}
.main-menu li a:hover,.main-menu li.current-menu-item a{color:var(--primary-dark)}
.main-menu li a:hover::after,.main-menu li.current-menu-item a::after{width:100%}
/* 下拉菜单 */
.main-menu .menu-item-has-children{position:relative}
.main-menu .sub-menu{display:block;position:absolute;top:100%;left:0;background:var(--white);min-width:180px;box-shadow:var(--shadow-lg);border-radius:var(--radius);padding:8px 0;z-index:100;opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--transition)}
.main-menu .menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.main-menu .sub-menu li{display:block}
.main-menu .sub-menu li a{display:block;padding:10px 24px;font-size:.9rem;white-space:nowrap}
.main-menu .sub-menu li a:hover{background:var(--bg-alt);color:var(--primary-dark)}
.main-menu .sub-menu li a::after{display:none}

.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;z-index:1001;flex-shrink:0}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--text);transition:var(--transition);border-radius:2px;flex-shrink:0}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* === Hero / Banner === */
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;margin-top:0}
.hero-slider{height:100%;position:relative}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;display:flex;align-items:center;justify-content:center}
.hero-slide.active{opacity:1;z-index:1}
.hero-slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-slide .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(45,35,20,.55),rgba(45,35,20,.25))}
/* 双层图片方案：模糊背景 + 清晰前景（方图自动启用，宽图自动走 cover） */
.hero-slide .bg-blur{position:absolute;inset:-30px;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#3d2b1a;filter:blur(28px);z-index:0;opacity:1;transform:scale(1.08)}
.hero-slide .bg-main{position:absolute;inset:0;background-size:auto 100%;background-position:center;background-repeat:no-repeat;z-index:1}
.hero-slide .bg-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,rgba(30,20,10,.55),rgba(30,20,10,.25))}
/* 宽图（≥2:1，如 1920×800）：隐藏模糊层，清晰层切 cover */
.hero-slide.is-wide .bg-blur{display:none}
.hero-slide.is-wide .bg-main{background-size:cover}
.hero-slide .content{position:relative;z-index:3;text-align:center;color:var(--white);padding:0 24px}
.hero-slide .content h1{font-size:clamp(2rem,5vw,3.5rem);color:var(--white);margin-bottom:16px;letter-spacing:2px;animation:fadeUp .8s ease both}
.hero-slide .content p{font-size:clamp(1rem,2vw,1.2rem);color:rgba(255,255,255,.85);margin-bottom:32px;animation:fadeUp .8s .2s ease both}
.hero-slide .content .btn{animation:fadeUp .8s .4s ease both}
.hero-dots{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:12px}
.hero-dots button{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.4);transition:var(--transition)}
.hero-dots button.active{background:var(--white);transform:scale(1.3)}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);color:var(--white);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px)}
.hero-arrow:hover{background:rgba(255,255,255,.3)}
.hero-arrow.prev{left:24px}
.hero-arrow.next{right:24px}

/* === Buttons === */
.btn{display:inline-block;padding:14px 36px;border-radius:var(--radius);font-size:.95rem;font-weight:500;letter-spacing:.5px;transition:var(--transition);text-align:center}
.btn-primary{background:var(--primary);color:var(--white)}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-outline{border:1.5px solid var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:var(--white)}
.btn-white{background:var(--white);color:var(--text)}
.btn-white:hover{background:var(--primary-lighter);transform:translateY(-2px)}

/* === Intro Section === */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.intro-image{position:relative}
.intro-image .main-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.intro-image .main-img img{width:100%;height:auto}
.intro-image .badge{position:absolute;bottom:-20px;right:-20px;background:var(--primary);color:var(--white);padding:24px 32px;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg)}
.intro-image .badge .num{font-size:2rem;font-weight:700;display:block}
.intro-image .badge .label{font-size:.8rem;opacity:.9}
.intro-content h2{margin-bottom:20px}
.intro-content .lead{font-size:1.1rem;color:var(--text);margin-bottom:24px;line-height:1.8}
.intro-content .features{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0}
.intro-content .feature{display:flex;align-items:flex-start;gap:14px}
.intro-content .feature .icon{width:44px;height:44px;border-radius:50%;background:var(--primary-lighter);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem;color:var(--primary-dark);overflow:hidden}
.intro-content .feature .icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.intro-content .feature h4{font-size:.95rem;margin-bottom:4px}
.intro-content .feature p{font-size:.85rem;color:var(--text-muted)}

/* === Hot Products === */
.hot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
a.hot-card{display:block;text-decoration:none;color:inherit}
.hot-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);cursor:pointer}
.hot-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.hot-card .thumb{position:relative;overflow:hidden;aspect-ratio:4/3}
.hot-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}
.hot-card:hover .thumb img{transform:scale(1.08)}
.hot-card .thumb .tag{position:absolute;top:12px;left:12px;background:var(--primary);color:var(--white);padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500}
.hot-card .no-img,.product-card .no-img,.modal-gallery .no-img,.product-detail-gallery .no-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(107,82,48,.06);color:var(--text-muted);font-size:.85rem;min-height:200px}
.hot-card .info{padding:20px}
.hot-card .info .category{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}
.hot-card .info h3{font-size:1.05rem;margin:6px 0 8px}
.hot-card .info .price{font-size:1.2rem;font-weight:700;color:var(--primary-dark)}
.hot-card .info .price .original{font-size:.85rem;color:var(--text-muted);text-decoration:line-through;margin-left:8px;font-weight:400}
.hot-hidden{display:none!important}

/* === Category Section (全部产品归档页) === */
.cat-section:nth-child(even){background:var(--bg-alt)}
.cat-section-header{margin-bottom:36px}
.cat-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.cat-title-row h2{font-size:1.5rem;margin:0}
.cat-desc{color:var(--text-muted);font-size:.9rem;margin-top:4px}

/* 分类快捷跳转按钮 */
.category-jump-btn,.sub-cat-link,.subcat-tab{padding:10px 24px;border-radius:30px;font-size:.9rem;color:var(--text-light);background:transparent;border:1px solid var(--border);transition:var(--transition);text-decoration:none;cursor:pointer}
.category-jump-btn:hover,.category-jump-btn.active,.sub-cat-link:hover,.subcat-tab:hover,.subcat-tab.active{background:var(--primary);color:var(--white);border-color:var(--primary)}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-light);background:var(--white);border:1px solid var(--border);transition:var(--transition)}
.pagination .page-numbers:hover,.pagination .page-numbers.current{background:var(--primary);color:var(--white);border-color:var(--primary)}
.product-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:48px;flex-wrap:wrap}
.product-tabs button{padding:10px 28px;border-radius:30px;font-size:.9rem;color:var(--text-light);background:var(--white);border:1px solid var(--border);transition:var(--transition)}
.product-tabs button:hover,.product-tabs button.active{background:var(--primary);color:var(--white);border-color:var(--primary)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
a.product-card{display:block;text-decoration:none;color:inherit}
.product-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);cursor:pointer}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.product-card .thumb{overflow:hidden;aspect-ratio:4/3}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}
.product-card:hover .thumb img{transform:scale(1.08)}
.product-card .info{padding:20px}
.product-card .info h3{font-size:1rem;margin-bottom:6px}
.product-card .info .spec{font-size:.82rem;color:var(--text-muted);margin:0 0 10px 0;line-height:1.6;min-height:1.6em}
.product-card .info .price{font-size:1.1rem;font-weight:700;color:var(--primary-dark)}

/* === 查看全部卡片（首页产品中心第8格） === */
.view-all-card{
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  background:var(--bg-warm);border:2px dashed var(--border);
  border-radius:var(--radius-lg);cursor:pointer;
  box-shadow:none;transition:var(--transition);
  min-height:0;height:100%;
}
.view-all-card:hover{
  border-color:var(--primary);background:var(--primary-lighter);
  transform:translateY(-4px);box-shadow:var(--shadow);
}
.view-all-inner{text-align:center;padding:16px 8px}
.view-all-icon{
  display:block;font-size:1.2rem;color:var(--primary);margin-bottom:4px;
  transition:transform .3s ease;
}
.view-all-card:hover .view-all-icon{transform:translateX(6px)}
.view-all-text{display:block;font-size:.9rem;font-weight:600;color:var(--primary-dark);margin-bottom:2px}
.view-all-count{display:block;font-size:.72rem;color:var(--text-muted)}

/* === About Section === */
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
/* === Factory Gallery — 按图片数量自动切换布局 === */
.factory-gallery{display:grid;gap:16px}
.factory-gallery .factory-img{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm)}
.factory-gallery .factory-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.factory-gallery .factory-img:hover img{transform:scale(1.05)}

/* 1 张：通栏 */
.count-1{grid-template-columns:1fr}
.count-1 .factory-img{aspect-ratio:16/9}

/* 2 张：并排 */
.count-2{grid-template-columns:1fr 1fr}
.count-2 .factory-img{aspect-ratio:4/3}

/* 3 张：1 大上 + 2 小下 */
.count-3{grid-template-columns:1fr 1fr}
.count-3 .factory-img:first-child{grid-column:1/-1;aspect-ratio:16/9}

/* 4 张：2×2 双双并排 */
.count-4{grid-template-columns:1fr 1fr}
.count-4 .factory-img{aspect-ratio:4/3}

/* 5 张：1 大左 + 右侧 2×2 小图 */
.count-5{grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.count-5 .factory-img:first-child{grid-row:1/3;grid-column:1;aspect-ratio:auto;height:100%}
.count-5 .factory-img:first-child img{height:100%}
.count-5 .factory-img:not(:first-child){aspect-ratio:4/3}

/* 6 张：3×2 */
.count-6{grid-template-columns:repeat(3,1fr)}
.count-6 .factory-img{aspect-ratio:4/3}

/* 7 张：1 宽上 + 3×2 下 */
.count-7{grid-template-columns:repeat(3,1fr)}
.count-7 .factory-img:first-child{grid-column:1/-1;aspect-ratio:16/9}

/* 8 张：4×2 */
.count-8{grid-template-columns:repeat(4,1fr)}
.count-8 .factory-img{aspect-ratio:1/1}
.factory-img{position:relative}
.factory-img-label{position:absolute;bottom:0;left:0;right:0;padding:8px 14px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:.85rem;text-align:center;pointer-events:none}
.timeline{position:relative;padding-left:28px}
.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;margin-bottom:32px;padding-left:20px}
.timeline-item::before{content:'';position:absolute;left:-24px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--primary-lighter)}
.timeline-item .year{font-size:.8rem;color:var(--primary);font-weight:600;letter-spacing:1px}
.timeline-item h4{font-size:1.05rem;margin:4px 0 6px}
.timeline-item p{font-size:.85rem;color:var(--text-muted)}

/* === Contact Section === */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-map{border-radius:var(--radius-lg);overflow:hidden;height:400px;box-shadow:var(--shadow);background:var(--bg-alt);display:flex;align-items:center;justify-content:center;position:relative}
.contact-map-real{display:block;align-items:unset;justify-content:unset;background:transparent;z-index:1}
/* 百度地图信息窗口内按钮 */
.BMap_bubble_content a{text-decoration:none!important}
a.contact-map-link{text-decoration:none;cursor:pointer;transition:var(--transition)}
a.contact-map-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
a.contact-map-link:hover .map-placeholder .pin{transform:scale(1.15)}
.contact-map .map-placeholder{text-align:center;color:var(--text-muted)}
.contact-map .map-placeholder .pin{font-size:3rem;margin-bottom:12px;display:block;transition:transform .3s ease}
.map-nav-btn{display:inline-block;margin-top:14px;padding:8px 20px;background:var(--primary);color:var(--white)!important;border-radius:30px;font-size:.82rem;letter-spacing:1px;transition:var(--transition)}
a.contact-map-link:hover .map-nav-btn{background:var(--primary-dark)}
.contact-info-list{margin-bottom:32px}
.contact-info-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.contact-info-item .ci-icon{width:44px;height:44px;border-radius:50%;background:var(--primary-lighter);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;color:var(--primary-dark)}
.contact-info-item h4{font-size:.9rem;margin-bottom:2px}
.contact-info-item p{font-size:.85rem;color:var(--text-muted)}
.contact-info-item p small{color:var(--primary);font-size:.75rem;display:block;margin-top:2px}

/* Copy Phone */
.copy-phone{cursor:pointer;transition:var(--transition);position:relative;display:inline-block}
.copy-phone:hover{color:var(--primary-dark)}
.copy-phone::after{content:'📋 点击复制';position:absolute;top:-32px;left:50%;transform:translateX(-50%);background:var(--bg-dark);color:#fff;font-size:.72rem;padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s}
.copy-phone:hover::after{opacity:1}

/* Toast */
.toast{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);background:var(--bg-dark);color:#fff;padding:14px 28px;border-radius:var(--radius-lg);font-size:.9rem;z-index:9999;opacity:0;transition:all .4s ease;pointer-events:none;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-8px)}
.toast .toast-icon{font-size:1.2rem}

/* === Footer === */
.footer{background:var(--bg-dark);color:var(--text-muted);padding:60px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-col h4{color:var(--white);font-size:1rem;margin-bottom:20px;font-weight:500}
.footer-col p,.footer-col a{font-size:.85rem;color:var(--text-muted);line-height:2;display:block;transition:var(--transition)}
.footer-col a:hover{color:var(--primary-light)}
.footer-col .footer-static{font-size:.85rem;color:var(--text-muted);line-height:2;display:block;cursor:default}
.footer-col a.footer-static{cursor:pointer;text-decoration:none}
.footer-col a.footer-static:hover{color:var(--primary-light)}
.footer-col .copy-phone{color:rgba(255,255,255,.65)}
.footer-col .copy-phone:hover{color:var(--primary-light)}
.footer-col .logo-text{font-size:1.3rem;font-weight:700;color:var(--white);margin-bottom:12px;display:block}
.footer-bottom{text-align:center;padding:20px 0;font-size:.8rem;color:rgba(255,255,255,.3)}

/* === Modal === */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--transition);padding:24px}
.modal-overlay.active{opacity:1;visibility:visible}
.modal{background:var(--white);border-radius:var(--radius-xl);max-width:960px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalIn .4s ease}
.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:10;transition:var(--transition)}
.modal-close:hover{background:rgba(0,0,0,.1)}
.modal-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
.modal-gallery{background:var(--bg-alt);padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.modal-gallery .main-image{border-radius:var(--radius);overflow:hidden;width:100%;aspect-ratio:1;box-shadow:var(--shadow);margin-bottom:16px}
.modal-gallery .main-image img{width:100%;height:100%;object-fit:cover}
.modal-gallery .thumb-strip{display:flex;gap:10px}
.modal-gallery .thumb-strip img{width:64px;height:64px;border-radius:var(--radius-sm);object-fit:cover;cursor:pointer;border:2px solid transparent;transition:var(--transition);opacity:.6}
.modal-gallery .thumb-strip img:hover,.modal-gallery .thumb-strip img.active{opacity:1;border-color:var(--primary)}
.modal-info{padding:40px}
.modal-info .category-tag{font-size:.75rem;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}
.modal-info h2{font-size:1.5rem;margin-bottom:12px}
.modal-info .modal-price{font-size:1.6rem;font-weight:700;color:var(--primary-dark);margin-bottom:20px}
.modal-info .modal-desc{color:var(--text-light);font-size:.9rem;line-height:1.8;margin-bottom:24px}
.modal-info .specs{margin-bottom:24px;padding:16px;background:var(--bg-alt);border-radius:var(--radius);border:1px solid var(--border-light)}
.modal-info .specs h4{font-size:.9rem;margin-bottom:12px;color:var(--text);padding-bottom:8px;border-bottom:2px solid var(--border-light)}
.modal-info .spec-row{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:9px 0;border-bottom:1px dashed var(--border-light);font-size:.85rem;align-items:baseline}
.modal-info .spec-row:last-child{border-bottom:none;padding-bottom:0}
.modal-info .spec-row .spec-key{color:var(--text-muted);font-weight:500;font-size:.8rem;text-align:right;position:relative}
.modal-info .spec-row .spec-key::after{content:'：';position:absolute;right:-8px;color:var(--text-muted)}
.modal-info .spec-row .spec-val{color:var(--text);font-weight:500}
.modal-info .btn{margin-top:8px}

/* === Single Product Page === */
.product-detail-grid{display:flex;flex-direction:row;gap:60px;align-items:flex-start}
.product-detail-gallery{flex:0 0 50%;max-width:50%;overflow:hidden}
.product-detail-info{flex:0 0 calc(50% - 30px);max-width:calc(50% - 30px)}
.product-detail-gallery .main-image{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:1;box-shadow:var(--shadow);background:var(--bg-alt)}
.product-detail-gallery .main-image img{width:100%;height:100%;object-fit:cover}
.product-detail-gallery .thumb-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.product-detail-gallery .thumb-strip img{width:60px;height:60px;border-radius:var(--radius);object-fit:cover;cursor:pointer;border:2px solid transparent;transition:var(--transition);opacity:.65}
.product-detail-gallery .thumb-strip img:hover,
.product-detail-gallery .thumb-strip img.active{opacity:1;border-color:var(--primary)}
/* 视频缩略图 */
.product-detail-gallery .thumb-strip .thumb-video{position:relative;width:60px;height:60px;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:var(--transition);opacity:.65;flex-shrink:0}
.product-detail-gallery .thumb-strip .thumb-video img{width:100%;height:100%;object-fit:cover}
.product-detail-gallery .thumb-strip .thumb-video .video-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--primary);pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.product-detail-gallery .thumb-strip .thumb-video:hover,
.product-detail-gallery .thumb-strip .thumb-video.active{opacity:1;border-color:#e74c3c}
/* 视频播放器容器 */
.product-detail-gallery .main-image .video-player{width:100%;height:100%;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:#000}
.product-detail-gallery .main-image .video-player iframe,
.product-detail-gallery .main-image .video-player video{width:100%;height:100%;display:block}
.product-detail-info .category-tag{display:inline-block;font-size:.78rem;color:var(--primary);letter-spacing:2px;margin-bottom:12px}
.product-detail-info .product-title{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:8px}
.product-detail-info .product-subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:16px}
.product-detail-info .product-price-row{margin-bottom:24px;display:flex;align-items:baseline;gap:12px}
.product-detail-info .product-price{font-size:1.8rem;font-weight:700;color:var(--primary-dark)}
.product-detail-info .product-original-price{font-size:1rem;color:var(--text-muted);text-decoration:line-through}
.product-detail-info .product-description{color:var(--text-light);font-size:.95rem;line-height:1.9;margin-bottom:28px}
.product-detail-info .product-description p{margin-bottom:12px}
.product-specs{margin-bottom:28px;padding:24px;background:var(--bg-alt);border-radius:var(--radius);border:1px solid var(--border-light)}
.product-specs h4{font-size:.95rem;margin-bottom:16px;color:var(--text);padding-bottom:10px;border-bottom:2px solid var(--border-light)}
.specs-list .spec-row{display:flex;flex-wrap:wrap;gap:0 12px;padding:11px 0;border-bottom:1px dashed var(--border-light);font-size:.9rem;align-items:baseline}
.specs-list .spec-row:last-child{border-bottom:none;padding-bottom:0}
.specs-list .spec-key{display:inline-flex;align-items:center;min-width:70px;max-width:140px;flex-shrink:0;font-size:.85rem;color:var(--text-muted);font-weight:500;letter-spacing:.5px;text-align:right;white-space:nowrap}
.specs-list .spec-key::after{content:'：';margin-left:4px;color:var(--text-muted);flex-shrink:0}
.specs-list .spec-val{font-size:.92rem;color:var(--text);font-weight:500;line-height:1.7;flex:1;min-width:0}
/* 移动端适配 */
@media(max-width:768px){
  .product-detail-grid{flex-direction:column}
  .product-detail-gallery{flex:1 100%;max-width:100%}
  .product-detail-info{flex:1 100%;max-width:100%}
}
@media(max-width:480px){
  .specs-list .spec-row{gap:0 8px}
  .specs-list .spec-key{min-width:60px;max-width:100px;font-size:.8rem}
}
.product-actions-bottom{text-align:center;margin-top:48px;padding:32px 0;border-top:1px dashed var(--border)}
.product-actions-bottom .btn{max-width:560px}
.product-actions-bottom .product-actions-hint{font-size:.78rem;color:var(--text-muted);margin-top:10px}
.product-actions .product-actions-hint{text-align:center;font-size:.78rem;color:var(--text-muted);margin-top:10px}

/* Contact mini cards on product page */
.contact-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.contact-mini-card{background:var(--white);border-radius:var(--radius-lg);padding:28px 20px;text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition)}
.contact-mini-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.contact-mini-card.nav-link:hover{border:2px solid var(--primary);background:var(--primary-lighter)}
.contact-mini-card h4{font-size:.9rem;margin:10px 0 4px;color:var(--text)}
.contact-mini-card p{font-size:.85rem;color:var(--text-muted)}
.contact-mini-card small{font-size:.72rem;color:var(--primary);display:block;margin-top:4px}

/* === Animations === */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* === 搜索功能 === */
.search-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-light);transition:var(--transition);flex-shrink:0;margin-right:36px}
.search-toggle:hover{color:var(--primary-dark);background:var(--bg-alt)}
.search-panel{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.search-panel.active{opacity:1;visibility:visible}
.search-panel-inner{width:100%;max-width:600px;margin:0 24px;background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:70vh;overflow-y:auto}
.search-input-wrap{display:flex;align-items:center;gap:12px;background:var(--bg-alt);border-radius:50px;padding:0 20px;border:2px solid transparent;transition:var(--transition)}
.search-input-wrap:focus-within{border-color:var(--primary);background:var(--white)}
.search-input{flex:1;border:none;background:transparent;padding:16px 0;font-size:1.05rem;color:var(--text);outline:none}
.search-input::placeholder{color:var(--text-muted)}
.search-close{font-size:1.6rem;color:var(--text-muted);padding:4px 8px;line-height:1;transition:var(--transition);cursor:pointer}
.search-close:hover{color:var(--text)}
.search-results{margin-top:16px}
.search-results .search-item{display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:var(--radius);transition:var(--transition);cursor:pointer;text-decoration:none;color:inherit}
.search-results .search-item:hover{background:var(--bg-alt)}
.search-results .search-item .result-thumb{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--bg-alt)}
.search-results .search-item .result-info h4{font-size:.95rem;margin-bottom:2px}
.search-results .search-item .result-info .result-cat{font-size:.78rem;color:var(--text-muted)}
.search-results .no-result{padding:30px 20px;text-align:center;color:var(--text-muted);font-size:.9rem}
.search-results .search-loading{padding:20px;text-align:center;color:var(--text-muted);font-size:.85rem}

/* === Responsive - Tablet (≤1024px) === */
@media(max-width:1024px){
  .hero-slide .bg-blur{inset:-20px;filter:blur(22px)}
  .hero-slide .bg-main{background-size:cover}
  .hot-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .intro-grid{grid-template-columns:1fr;gap:40px}
  .about-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .factory-gallery{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
  .factory-gallery .factory-img:first-child{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/3!important}
  .factory-gallery .factory-img:first-child img{height:auto!important}
  .footer-grid{grid-template-columns:1fr 1fr}
  .product-detail-grid{grid-template-columns:1fr;gap:40px}
  .product-detail-gallery{position:static}
  .contact-mini-grid{grid-template-columns:repeat(2,1fr)}
}

/* === Responsive - Mobile (≤768px) === */
@media(max-width:768px){
  :root{--header-h:64px}
  .section{padding:60px 0}
  .section-header{margin-bottom:40px}
  .menu-toggle{display:flex}
  .main-nav{margin-left:auto}
  .main-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--white);flex-direction:column;align-items:flex-start;padding:100px 32px 32px;gap:24px;box-shadow:var(--shadow-xl);transition:var(--transition);z-index:1000}
  .main-menu.active{right:0}
  .main-menu li a{font-size:1.1rem}
  .main-menu .sub-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;background:transparent;padding:8px 0 8px 16px;min-width:0;border-radius:0}
  .main-menu .sub-menu li a{font-size:.95rem;padding:8px 0}
  .admin-bar .main-menu{padding-top:132px}
  .hero{height:auto;min-height:50vh}
  .hero-slider{min-height:50vh}
  .hero-slide{min-height:50vh;height:auto}
  .hero-slide .bg-blur{inset:-16px;filter:blur(18px);opacity:1;transform:scale(1.05)}
  .hero-slide .bg-main{background-size:100% auto;background-position:center top}
  .hero-arrow{width:36px;height:36px;font-size:.9rem}
  .hero-arrow.prev{left:12px}
  .hero-arrow.next{right:12px}
  .hot-grid,.product-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .product-tabs{gap:6px}
  .product-tabs button{padding:8px 18px;font-size:.8rem}
  .intro-image .badge{padding:16px 24px;bottom:-12px;right:-12px}
  .intro-image .badge .num{font-size:1.5rem}
  .intro-content .features{grid-template-columns:1fr}
  .factory-gallery{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .factory-gallery .factory-img:first-child{grid-column:1!important;grid-row:auto!important;aspect-ratio:4/3!important}
  .factory-gallery .factory-img:first-child img{height:auto!important}
  .factory-img-label{font-size:.75rem;padding:6px 10px}
  .timeline{padding-left:20px}
  .timeline-item{margin-bottom:24px}
  .cat-section-header .cat-title-row{flex-direction:column;align-items:flex-start}
  .category-jump-btn,.sub-cat-link{padding:8px 18px;font-size:.82rem}
  .contact-map{height:280px}
  .modal-body{grid-template-columns:1fr}
  .modal-gallery{padding:24px}
  .modal-info{padding:24px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .product-detail-grid{grid-template-columns:1fr;gap:32px}
  .contact-mini-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* === Responsive - Small Mobile (≤480px) === */
@media(max-width:480px){
  .container{padding:0 16px}
  .hero{height:auto;min-height:40vh}
  .hero-slider{min-height:40vh}
  .hero-slide{min-height:40vh;height:auto}
  .hero-slide .bg-blur{inset:-10px;filter:blur(12px);opacity:1}
  .hero-slide .bg-main{background-size:100% auto;background-position:center top}
  .hero-slide .content h1{font-size:1.5rem;letter-spacing:1px}
  .hero-slide .content p{font-size:.9rem;margin-bottom:20px}
  .hero-dots{bottom:20px}
  .hero-arrow{width:32px;height:32px;font-size:.8rem}
  .hero-arrow.prev{left:8px}
  .hero-arrow.next{right:8px}
  .section-header .subtitle{font-size:.75rem;letter-spacing:2px}
  .section-header .subtitle::before,.section-header .subtitle::after{width:14px}
  .hot-grid,.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .product-tabs button{padding:7px 16px;font-size:.78rem}
  .product-card .info{padding:16px}
  .product-card .info h3{font-size:.92rem}
  .intro-image .badge{padding:12px 18px;bottom:-10px;right:-10px}
  .intro-image .badge .num{font-size:1.3rem}
  .intro-image .badge .label{font-size:.7rem}
  .about-grid{gap:32px}
  .factory-gallery{gap:10px}
  .contact-grid{gap:32px}
  .contact-map{height:220px}
  .footer{padding:40px 0 0}
  .footer-grid{gap:24px}
  .footer-col h4{margin-bottom:12px}
  .modal{padding:0;border-radius:var(--radius-lg)}
  .modal-gallery{padding:16px}
  .modal-info{padding:20px}
  .modal-info h2{font-size:1.2rem}
  .modal-info .modal-price{font-size:1.3rem}
  .modal-close{top:8px;right:8px}
  .cat-section-header h2{font-size:1.2rem}
  .cat-title-row{gap:8px}
  .category-jump-btn,.sub-cat-link{padding:7px 14px;font-size:.78rem}
  .pagination .page-numbers{min-width:34px;height:34px;font-size:.82rem;padding:0 8px}
}

/* ============================================
   移动端菜单遮罩层（JS 动态创建）
   ============================================ */
.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.menu-overlay.active{opacity:1;visibility:visible}

/* ============================================
   回到顶部按钮
   ============================================ */
.back-to-top{
  position:fixed;bottom:30px;right:30px;z-index:999;
  width:44px;height:44px;border-radius:50%;
  background:var(--primary);color:#fff;border:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(139,109,74,.35);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:all .3s cubic-bezier(.25,.46,.45,.94);
}
.back-to-top.visible{
  opacity:1;visibility:visible;transform:translateY(0);
}
.back-to-top:hover{
  background:var(--primary-dark);
  transform:translateY(-3px);
  box-shadow:0 6px 24px rgba(139,109,74,.45);
}
.back-to-top.visible:hover{
  transform:translateY(-3px);
}
.back-to-top:active{transform:scale(.92)}

/* ============================================
   按钮脉冲反馈（已在顶部时点击"全部"）
   ============================================ */
@keyframes muwood-pulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(184,149,106,.5)}
  50%{transform:scale(1.12);box-shadow:0 0 0 10px rgba(184,149,106,0)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(184,149,106,0)}
}
.category-jump-btn.pulse{
  animation:muwood-pulse .5s ease;
}
