/* LXGW WenKai GB / 霞鹜文楷 GB
   Typeface license: SIL Open Font License 1.1.
   Font family and page typography are unchanged.
   The font CSS is loaded before this stylesheet from the site's own local-cache endpoint,
   preventing the visible fallback-font -> LXGW font switch during page refresh. */
:root{
  --fresh-bg:#FFF7F2;
  --fresh-surface:#FFFCF9;
  --fresh-surface-soft:#F3F5EE;
  --fresh-line:#E9DDD5;
  --fresh-ink:#493F3A;
  --fresh-muted:#8D817A;
  --fresh-green:#91A78C;
  --fresh-green-deep:#61785F;
  --fresh-peach:#EAA18E;
  --fresh-yellow:#F6E2B8;
  --fresh-radius:18px;
  --fresh-shadow:0 12px 36px rgba(126,101,88,.10);
  --fresh-shell:1400px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--fresh-bg);
  color:var(--fresh-ink);
  font-family:"LXGW WenKai GB",system-ui,sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0;list-style:none}
button,input,textarea,select{font:inherit}
.fresh-shell{width:min(calc(100% - 40px),var(--fresh-shell));margin:0 auto}
.fresh-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Banner + shop header: follows the requested Tmall-like information hierarchy, but uses a light fresh visual language. */
.fresh-hero{position:relative;min-height:320px;overflow:hidden;background:#F5EFEA;border-bottom:1px solid rgba(145,167,140,.20)}
.fresh-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.fresh-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,243,.94) 0%,rgba(255,248,243,.80) 43%,rgba(242,246,238,.26) 70%,rgba(242,246,238,.12) 100%)}
.fresh-hero-inner{position:relative;z-index:2;min-height:320px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:36px 0}
.fresh-hero-brand{max-width:610px;padding:24px 28px;border:1px solid rgba(234,161,142,.24);border-radius:24px;background:rgba(255,255,255,.62);backdrop-filter:blur(6px)}
.fresh-hero-logo{display:inline-flex;align-items:center;justify-content:flex-start;min-height:72px;max-width:350px;padding:12px 16px;border-radius:18px;background:rgba(126,165,101,.92);box-shadow:0 8px 24px rgba(93,124,78,.12)}
.fresh-hero-logo img{display:block;max-width:315px;max-height:76px;width:auto;height:auto;object-fit:contain}
.fresh-hero-brand p{margin:0;color:#7F716B;font-size:18px;letter-spacing:.08em}
.fresh-hero-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.fresh-hero-chips span{padding:5px 12px;border-radius:999px;background:#FFF0EA;border:1px solid #E8D8D0;color:#6D8069;font-size:13px}
.fresh-hero-tools{width:360px;padding:20px;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 14px 40px rgba(142,112,97,.12);backdrop-filter:blur(8px)}
.fresh-hero-search{display:flex;height:42px;border:1px solid #E8D8D0;border-radius:999px;background:#fff;overflow:hidden}
.fresh-hero-search input{min-width:0;flex:1;border:0;outline:0;padding:0 16px;background:transparent;color:#564943}
.fresh-hero-search button{width:52px;border:0;background:var(--fresh-green);color:#fff;cursor:pointer}
.fresh-hero-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.fresh-contact-item{padding:10px 12px;border-radius:14px;background:#FFF4EF}
.fresh-contact-item small{display:block;color:#968A83;font-size:12px;line-height:1.4}
.fresh-contact-item strong{display:block;margin-top:2px;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:13px;color:#647A62;font-weight:600;overflow-wrap:anywhere}
.fresh-hero-wechatqr{display:flex;align-items:center;gap:10px;margin-top:12px;padding:9px 11px;border-radius:14px;background:#fff;border:1px solid #E8D8D0}
.fresh-hero-wechatqr[hidden]{display:none!important}
.fresh-hero-wechatqr-image{width:58px;height:58px;flex:0 0 58px;border-radius:8px;background:#fff center/contain no-repeat}
.fresh-hero-wechatqr-text{font-size:13px;color:#6E806A}

/* Main nav */
.fresh-nav-wrap{background:rgba(255,255,255,.96);border-bottom:1px solid var(--fresh-line);box-shadow:0 5px 18px rgba(120,93,80,.055)}
.fresh-nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.fresh-nav-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fresh-nav-list>li>a{display:flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;color:#574A44;font-size:17px;transition:.2s ease}
.fresh-nav-list>li.current>a,.fresh-nav-list>li>a:hover{background:#FCE6DD;color:var(--fresh-green-deep)}
.fresh-nav-list>li{position:relative}
.fresh-nav-list li ul{display:none;position:absolute;top:100%;left:0;min-width:190px;padding:8px;border:1px solid var(--fresh-line);border-radius:14px;background:#fff;box-shadow:var(--fresh-shadow);z-index:30}
.fresh-nav-list li:hover>ul{display:block}
.fresh-nav-list li ul a{display:block;padding:9px 12px;border-radius:9px;white-space:nowrap}
.fresh-nav-list li ul a:hover{background:#F3F5EE}
.fresh-mobile-menu{display:none;border:0;background:var(--fresh-green-deep);color:#fff;width:42px;height:42px;border-radius:12px;font-size:22px;cursor:pointer}

/* Shared page chrome */
.fresh-page{padding:28px 0 54px}
.fresh-breadcrumb{margin:0 0 18px;color:#9B8D85;font-size:14px}
.fresh-breadcrumb a{color:#72826F}
.fresh-card{background:#fff;border:1px solid var(--fresh-line);border-radius:var(--fresh-radius);box-shadow:0 8px 30px rgba(129,99,86,.06)}
.fresh-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.fresh-section-title h1,.fresh-section-title h2{margin:0;font-size:27px;line-height:1.3;color:#5A4A43;font-weight:700}
.fresh-section-title .fresh-en{font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:12px;letter-spacing:.15em;color:#A99B94;text-transform:uppercase}

/* Home */
.fresh-home{padding:28px 0 58px}
.fresh-home-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.fresh-category-card{position:sticky;top:18px;padding:18px 0;overflow:hidden;background:#fff;border:1px solid var(--fresh-line);border-radius:20px;box-shadow:0 10px 30px rgba(129,99,86,.055)}
.fresh-category-title{padding:0 20px 14px;margin-bottom:6px;border-bottom:1px solid var(--fresh-line);font-size:22px;color:#60765E;font-weight:700}
.fresh-category-list>li>a,.fresh-category-row>a{display:block;padding:10px 20px;color:#655953;border-left:3px solid transparent;transition:.2s ease}
.fresh-category-list>li>a:hover,.fresh-category-row>a:hover{background:#FFF0EA;color:var(--fresh-green-deep);border-left-color:var(--fresh-peach)}
.fresh-category-parent{border-bottom:1px dashed #F0E5DE}
.fresh-category-row{display:flex;align-items:center}
.fresh-category-row>a{flex:1}
.fresh-category-toggle{margin-right:12px;width:28px;height:28px;border:0;border-radius:50%;background:#F3F5EE;color:#7E9679;cursor:pointer}
.fresh-category-sub{display:none;padding:0 12px 9px 25px}
.fresh-category-sub a{display:block;padding:7px 9px;color:#91847D;font-size:14px;border-radius:8px}
.fresh-category-sub a:hover{background:#FFF7F2;color:#6B8068}
.fresh-products-panel{min-width:0}
.fresh-products-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:2px 4px}
.fresh-products-head h2{margin:0;font-size:30px;color:#5A4A43}
.fresh-products-head p{margin:4px 0 0;color:#9C8F88;font-size:14px}
.fresh-products-head .fresh-cats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fresh-products-head .fresh-cats a{padding:6px 12px;border:1px solid #E7DCD4;border-radius:999px;background:#fff;color:#7B6E67;font-size:13px}
.fresh-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.fresh-product-card{min-width:0;background:#fff;border:1px solid #EEE2DA;border-radius:16px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.fresh-product-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(145,108,90,.11);border-color:#E8CFC4}
.fresh-product-image{display:block;aspect-ratio:1/1;background:#FAF5F1;overflow:hidden}
.fresh-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.fresh-product-card:hover .fresh-product-image img{transform:scale(1.025)}
.fresh-product-body{padding:13px 14px 14px}
.fresh-product-title{height:3.2em;margin:0;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:14px;line-height:1.6;font-weight:500;color:#514641;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fresh-product-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed #EFE1D8;color:#A79A93;font-size:12px;white-space:nowrap;overflow:hidden}
.fresh-product-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.fresh-friends{margin-top:34px;padding:20px 24px;background:#fff;border:1px solid var(--fresh-line);border-radius:18px}
.fresh-friends strong{color:#6B8068}
.fresh-friends a{display:inline-block;margin:4px 10px;color:#8C8079;font-size:14px}

/* Product list */
.fresh-list-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.fresh-list-panel{min-width:0}
.fresh-list-panel .fresh-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.fresh-list-heading{padding:22px 24px;margin-bottom:20px;background:#fff;border:1px solid var(--fresh-line);border-radius:18px}
.fresh-list-heading h1{margin:0;font-size:28px;color:#5A4B44}
.fresh-list-heading p{margin:6px 0 0;color:#9B8F88;font-size:14px}

/* News list / detail */
.fresh-news-page{max-width:1240px;margin:0 auto}
.fresh-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px}
.fresh-news-card{background:#fff;border:1px solid var(--fresh-line);border-radius:16px;overflow:hidden;transition:.2s ease}
.fresh-news-card:hover{transform:translateY(-3px);box-shadow:var(--fresh-shadow)}
.fresh-news-cover{display:block;aspect-ratio:4/3;background:#F6EFEA;overflow:hidden}
.fresh-news-cover img{width:100%;height:100%;object-fit:cover}
.fresh-news-body{padding:15px 16px 17px}
.fresh-news-date{color:#ADA19A;font-size:12px;font-family:"LXGW WenKai GB",system-ui,sans-serif}
.fresh-news-title{margin:6px 0 7px;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:15px;line-height:1.65;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#574C46}
.fresh-news-desc{margin:0;color:#968A83;font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fresh-article{max-width:980px;margin:0 auto;padding:34px 42px;background:#fff;border:1px solid var(--fresh-line);border-radius:20px;box-shadow:0 10px 32px rgba(56,78,62,.045)}
.fresh-article h1{margin:0;font-size:36px;line-height:1.35;color:#455549;font-weight:600}
.fresh-article-meta{display:flex;gap:28px;margin-top:13px;padding-bottom:18px;border-bottom:1px solid var(--fresh-line);color:#A1968F;font-size:14px}
.fresh-richtext{padding-top:22px;color:#514742;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:16px;line-height:1.95;word-break:break-word}
.fresh-richtext img{max-width:100%;height:auto;margin:16px auto;border-radius:10px}
.fresh-richtext p{margin:0 0 16px}

/* Product detail */
.fresh-product-detail{max-width:1240px;margin:0 auto}
.fresh-product-top{display:grid;grid-template-columns:minmax(0,760px) minmax(300px,1fr);gap:38px;padding:28px;background:#fff;border:1px solid var(--fresh-line);border-radius:22px}
.fresh-gallery{display:block;min-width:0}
.fresh-main-photo{aspect-ratio:1/1;background:#FAF4EF;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.fresh-main-photo img{width:100%;height:100%;object-fit:contain}
.fresh-product-summary{padding:8px 2px;display:flex;flex-direction:column;min-width:0}
.fresh-summary-thumbs{margin-top:auto;padding-top:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid var(--fresh-line)}
.fresh-thumb{width:100%;aspect-ratio:1/1;padding:0;border:1px solid #E9DDD5;border-radius:11px;background:#fff;overflow:hidden;cursor:pointer;transition:.2s ease}
.fresh-thumb:hover{transform:translateY(-2px);border-color:#BDDE93}
.fresh-thumb.is-active{border-color:#FF82A2;box-shadow:0 0 0 2px rgba(255,130,162,.18)}
.fresh-thumb img{width:100%;height:100%;object-fit:cover}
.fresh-product-summary h1{margin:0;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:27px;line-height:1.55;color:#4D433E;font-weight:600}
.fresh-product-summary .fresh-label{display:inline-block;margin-top:18px;padding:7px 12px;border-radius:999px;background:#EEF3E9;color:#667F63;font-size:14px}
.fresh-product-summary .fresh-desc{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--fresh-line);color:#8F837C;font-size:15px;line-height:1.9}
.fresh-product-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.fresh-product-badges span{padding:11px 12px;border-radius:13px;background:#FFF0E9;color:#8B685E;font-size:13px;text-align:center}
.fresh-product-lower{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;margin-top:28px;align-items:start}
.fresh-product-content{padding:26px 30px;background:#fff;border:1px solid var(--fresh-line);border-radius:20px}
.fresh-detail-cats{position:sticky;top:18px;padding:18px;background:#fff;border:1px solid var(--fresh-line);border-radius:18px}
.fresh-detail-cats h3{margin:0 0 10px;font-size:22px;color:#60765E}
.fresh-detail-cats a{display:block;padding:9px 10px;border-bottom:1px dashed #EFE2DA;color:#7B7069}
.fresh-detail-cats a:last-child{border-bottom:0}
.fresh-detail-cats a:hover{color:var(--fresh-green-deep);background:#F3F5EE;border-radius:9px}

/* Legacy/other pages fresh skin */
.inner-page-main,.inner-page-middle,.inner-page-content,.inner-page-r,.inner-page-l,.inner-page-box{width:auto!important;max-width:none!important;float:none!important}
.inner-page-main{width:min(calc(100% - 40px),var(--fresh-shell))!important;margin:0 auto!important;padding:28px 0 55px!important;overflow:visible!important}
.bread-crumb{margin:0 0 18px!important;padding:0!important;height:auto!important;background:transparent!important;border:0!important;color:#9B8E86!important}
.bread-crumb ul,.bread-crumb li{margin:0!important;padding:0!important}
.inner-page-content{display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;gap:28px!important;align-items:start!important}
.inner-page-r{grid-column:1!important;grid-row:1!important}
.inner-page-l{grid-column:2!important;grid-row:1!important}
.inner-page-box,.about-details,.factory-details,.case-details,.contact-table{background:#fff!important;border:1px solid var(--fresh-line)!important;border-radius:18px!important;box-shadow:none!important;padding:26px!important}
.sidebar-box,.sidebar-block{background:transparent!important;border:0!important;box-shadow:none!important}
.sidebar-box{background:#fff!important;border:1px solid var(--fresh-line)!important;border-radius:18px!important;overflow:hidden!important}
.sidebar-title{padding:15px 18px!important;background:#FCEAE3!important;border:0!important;font-size:20px!important}
.sidebar-contant li a{display:block;padding:10px 16px!important;border-bottom:1px solid #F0E5DE!important}
.about-details-t h1,.factory-details-t h1,.case-details-t h1{margin-top:0;color:#60745E}
.n55-richtext,.n72-about-details-box,.factory-details-box,.case-details-box{font-family:"LXGW WenKai GB",system-ui,sans-serif;line-height:1.9;color:#584C46}
.n55-page-title{padding:0 0 16px!important;margin:0 0 18px!important;border-bottom:1px solid var(--fresh-line)!important}
.n55-page-title h1{margin:0;color:#60745E}
.case-listing ul{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.case-listing li{width:auto!important;float:none!important;margin:0!important}
.case-listing .item{height:100%;padding:14px;background:#fff;border:1px solid var(--fresh-line);border-radius:16px}
.case-listing-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:11px}

/* Pagination */
.n55-pagination,.fresh-pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:30px;flex-wrap:wrap}
.n55-pagination a,.n55-pagination span,.fresh-pagination a,.fresh-pagination span{display:inline-flex;min-width:36px;height:36px;padding:0 10px;align-items:center;justify-content:center;border:1px solid #E7DAD2;border-radius:10px;background:#fff;color:#796D66}
.n55-pagination .page-num-current,.fresh-pagination .page-num-current{background:var(--fresh-green-deep);color:#fff;border-color:var(--fresh-green-deep)}

/* Footer */
/* Inner-page wrapper must not clip the full-bleed links/footer. Legacy n55 CSS sets overflow:hidden here, which caused the factory-show footer to be cut off on both sides. */
.inner-page-main{overflow:visible!important}

/* Full-bleed footer: backgrounds span the viewport, while the information area stays centered and fully visible. */
.fresh-links,.fresh-footer{position:relative;left:50%;width:100vw;max-width:none;margin-left:-50vw;margin-right:-50vw;overflow-x:clip}
.fresh-links{background:#fff;border-top:1px solid var(--fresh-line);border-bottom:1px solid var(--fresh-line)}
.fresh-links .fresh-shell{width:min(calc(100% - 48px),var(--fresh-shell));display:flex;align-items:flex-start;gap:14px;min-height:66px;padding:11px 0;overflow:visible}
.fresh-links strong{flex:0 0 auto;white-space:nowrap;color:#657A62;padding-top:2px}
.fresh-links-list{min-width:0;display:flex;align-items:center;gap:0;flex-wrap:wrap;row-gap:6px}
.fresh-links-list a{padding:2px 12px;border-right:1px solid #E7D9D1;color:#7D706A;font-size:14px;line-height:1.6}
.fresh-footer{background:#596C58;color:#E7EEE4}
.fresh-footer .fresh-shell{width:min(calc(100% - 48px),var(--fresh-shell))}
.fresh-footer-main{display:grid;grid-template-columns:minmax(220px,.85fr) auto minmax(430px,1.5fr);gap:34px;align-items:center;padding:36px 0}
.fresh-footer-logo{min-width:0;display:flex;align-items:center;padding-right:28px;border-right:1px solid rgba(255,255,255,.09)}
.fresh-footer-logo img{max-width:260px;max-height:78px;object-fit:contain}
.fresh-footer-qr{display:flex;gap:16px;align-items:flex-start;justify-content:center}
.fresh-footer-qr figure{margin:0;text-align:center;flex:0 0 auto}
.fresh-footer-qr img{width:118px;height:118px;object-fit:cover;background:#fff;padding:4px;border-radius:6px}
.fresh-footer-qr figcaption{margin-top:7px;font-size:12px;color:#D4DDD1}
.fresh-footer-contact{min-width:0;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:14px;line-height:1.85}
.fresh-footer-contact p{margin:0 0 5px;color:#E1E9DE;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.fresh-footer-contact p:last-child{margin-bottom:0}
.fresh-footer-contact a{color:#F1F4EE}
.fresh-footer-bottom{padding:13px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#C7D1C4;text-align:center;font-family:"LXGW WenKai GB",system-ui,sans-serif}
#scroll{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border-radius:50%;background:var(--fresh-green-deep);color:#fff;display:none;z-index:80;cursor:pointer}
#scroll:before{content:"↑";display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:"LXGW WenKai GB",system-ui,sans-serif;font-size:22px}


/* Cream Peach + Sage Green theme polish */
.fresh-hero-brand{box-shadow:0 16px 42px rgba(197,139,119,.10)}
.fresh-hero-chips span:nth-child(odd){background:#FFF0EA;border-color:#F1D6CC;color:#A96D5D}
.fresh-hero-chips span:nth-child(even){background:#EEF3E9;border-color:#D9E3D4;color:#667F63}
.fresh-hero-search button{background:linear-gradient(135deg,#91A78C,#6F876C)}
.fresh-nav-list>li.current>a,.fresh-nav-list>li>a:hover{background:#FCE6DD;color:#9B6556}
.fresh-category-card,.fresh-list-heading,.fresh-news-card,.fresh-product-card,.fresh-product-top,.fresh-product-content,.fresh-detail-cats,.fresh-article{box-shadow:0 10px 28px rgba(145,108,90,.055)}
.fresh-category-title:after,.fresh-section-title h1:after,.fresh-section-title h2:after{content:"";display:inline-block;width:22px;height:7px;margin-left:9px;border-radius:999px;background:#EAA18E;opacity:.72;vertical-align:middle}
.fresh-products-head .fresh-cats a:nth-child(odd){background:#FFF3EE;border-color:#F0D8CE;color:#9C6E61}
.fresh-products-head .fresh-cats a:nth-child(even){background:#F1F5ED;border-color:#DCE5D8;color:#667D63}
.fresh-product-card:hover{border-color:#EDC9BC}
.fresh-product-meta{color:#9B8D85}
.fresh-news-card:hover{border-color:#EDC9BC}
.fresh-product-summary .fresh-label{background:#EEF3E9;color:#60775F}
.fresh-product-badges span:nth-child(odd){background:#FFF0E9;color:#966A5E}
.fresh-product-badges span:nth-child(even){background:#EEF3E9;color:#647C62}
.fresh-links{background:#FFF9F5}
.fresh-footer{background:linear-gradient(135deg,#60745E,#526552)}
#scroll{background:linear-gradient(135deg,#E49A86,#D37C68)}

@media (max-width:1180px){
  .fresh-footer-main{grid-template-columns:minmax(250px,1fr) auto;gap:28px 34px}.fresh-footer-contact{grid-column:1/-1}
}
@media (max-width:1100px){
  .fresh-hero-tools{width:320px}
  .fresh-product-grid,.fresh-list-panel .fresh-product-grid,.fresh-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fresh-footer-main{grid-template-columns:1fr 1fr}.fresh-footer-contact{grid-column:1/-1}
  .fresh-product-top{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
}
@media (max-width:860px){
  .fresh-shell{width:min(calc(100% - 28px),var(--fresh-shell))}
  .fresh-footer .fresh-shell,.fresh-links .fresh-shell{width:min(calc(100% - 28px),var(--fresh-shell))}
  .fresh-hero,.fresh-hero-inner{min-height:290px}
  .fresh-hero-inner{align-items:flex-end;padding:28px 0}
  .fresh-hero-brand{max-width:58%;padding:18px 20px}
    .fresh-hero-tools{width:38%;padding:14px}
  .fresh-hero-contact{grid-template-columns:1fr}
  .fresh-contact-item:nth-child(2){display:none}
  .fresh-mobile-menu{display:block}
  .fresh-nav{min-height:58px}
  .fresh-nav-list{display:none;position:absolute;left:14px;right:14px;top:58px;padding:10px;background:#fff;border:1px solid var(--fresh-line);border-radius:16px;box-shadow:var(--fresh-shadow);z-index:60}
  .fresh-nav-list.is-open{display:block}
  .fresh-nav{position:relative}
  .fresh-nav-list>li>a{min-height:40px;border-radius:10px}
  .fresh-nav-list li ul{position:static;display:block;padding:0 0 0 16px;border:0;box-shadow:none}
  .fresh-home-layout,.fresh-list-layout{grid-template-columns:1fr}
  .fresh-category-card{position:static}
  .fresh-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fresh-category-parent{border:0}
  .fresh-products-head{align-items:flex-start;flex-direction:column}
  .fresh-products-head .fresh-cats{justify-content:flex-start}
  .fresh-product-grid,.fresh-list-panel .fresh-product-grid,.fresh-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .fresh-product-top{grid-template-columns:1fr}
  .fresh-product-lower{grid-template-columns:1fr}
  .fresh-detail-cats{position:static}
  .inner-page-content{grid-template-columns:1fr!important}
  .inner-page-r,.inner-page-l{grid-column:1!important}.inner-page-r{grid-row:1!important}.inner-page-l{grid-row:2!important}
  .case-listing ul{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:620px){
  body{font-size:15px}
  .fresh-shell{width:min(calc(100% - 20px),var(--fresh-shell))}
  .fresh-footer .fresh-shell,.fresh-links .fresh-shell{width:min(calc(100% - 20px),var(--fresh-shell))}
  .fresh-hero{min-height:238px}
  .fresh-hero-inner{min-height:238px;padding:18px 0;align-items:center}
  .fresh-hero-shade{background:rgba(255,247,242,.72)}
  .fresh-hero-brand{max-width:100%;width:100%;padding:17px 18px;background:rgba(255,255,255,.78)}
      .fresh-hero-brand p{font-size:15px}
  .fresh-hero-tools{display:none}
  .fresh-hero-chips{margin-top:13px}
  .fresh-nav-wrap{border-top:1px solid var(--fresh-line)}
  .fresh-home,.fresh-page{padding-top:18px}
  .fresh-category-list{grid-template-columns:1fr}
  .fresh-product-grid,.fresh-list-panel .fresh-product-grid,.fresh-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .fresh-product-body{padding:10px}
  .fresh-product-title{font-size:13px}
  .fresh-product-meta{font-size:11px;flex-direction:column;gap:2px}
  .fresh-products-head h2{font-size:25px}
  .fresh-products-head .fresh-cats{gap:5px}
  .fresh-products-head .fresh-cats a{padding:5px 9px}
  .fresh-news-body{padding:11px 12px}
  .fresh-news-title{font-size:14px}
  .fresh-article{padding:24px 18px;border-radius:14px}
  .fresh-article h1{font-size:27px}
  .fresh-article-meta{flex-direction:column;gap:4px}
  .fresh-product-top{padding:16px;border-radius:16px}
  .fresh-gallery{display:block}
  .fresh-summary-thumbs{margin-top:18px;padding-top:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .fresh-thumb{width:100%;height:auto;border-radius:8px}
  .fresh-product-summary h1{font-size:21px}
  .fresh-product-lower{gap:16px;margin-top:16px}
  .fresh-product-content{padding:18px}
  .fresh-footer-main{grid-template-columns:1fr;gap:26px;padding:28px 0}
  .fresh-footer-logo{padding-right:0;border-right:0}
  .fresh-footer-qr{justify-content:flex-start}
  .fresh-footer-qr img{width:100px;height:100px}
  .fresh-links .fresh-shell{align-items:flex-start;flex-direction:column;padding:14px 0}
  .fresh-links-list a{padding-left:0;margin-right:12px;border-right:0}
  .case-listing ul{grid-template-columns:1fr!important}
  .inner-page-main{width:min(calc(100% - 20px),var(--fresh-shell))!important;padding-top:18px!important}
}
/* Inner latest-news sidebar, used by non-news legacy pages */
.n55-inner-news-same-home{margin-top:20px;background:#fff;border:1px solid var(--fresh-line);border-radius:18px;overflow:hidden}
.n55-inner-news-same-home .n55-home-side-title{padding:14px 18px;background:#FFF0EA;border-bottom:1px solid var(--fresh-line);font-size:20px;color:#61765F;font-weight:700}
.n55-inner-news-same-home .n55-home-side-content{padding:8px 16px 12px}
.n55-inner-news-same-home .n55-home-news-list li{border-bottom:1px dashed #EFE2DA}
.n55-inner-news-same-home .n55-home-news-list li:last-child{border-bottom:0}
.n55-inner-news-same-home .n55-home-news-list a{display:block;padding:8px 0;color:#8A7D76;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n55-inner-news-same-home .n55-home-news-list a:before{content:"·";color:var(--fresh-peach);margin-right:7px;font-weight:700}

/* Qingti Balele palette theme 20260902 */
:root{
  --fresh-bg:#F5F3E8;
  --fresh-surface:#FFF9FB;
  --fresh-surface-soft:#F7FBEA;
  --fresh-line:#E6E1D2;
  --fresh-ink:#5A544C;
  --fresh-muted:#968E83;
  --fresh-green:#BDDE93;
  --fresh-green-deep:#9BC46F;
  --fresh-peach:#FED0D6;
  --fresh-yellow:#E4F6A9;
  --fresh-shadow:0 12px 34px rgba(152,167,118,.12);
}
body{background:var(--fresh-bg);color:var(--fresh-ink)}
.fresh-hero{background:#F5F3E8;border-bottom:1px solid rgba(189,222,147,.36)}
.fresh-hero-shade{background:linear-gradient(90deg,rgba(245,243,232,.96) 0%,rgba(255,249,251,.88) 42%,rgba(244,251,232,.46) 72%,rgba(244,251,232,.20) 100%)}
.fresh-hero-brand{border-color:rgba(255,130,162,.24);background:rgba(255,251,252,.78);box-shadow:0 18px 40px rgba(255,130,162,.10)}
.fresh-hero-brand p{color:#8A8378}
.fresh-hero-chips span:nth-child(odd){background:#FFF3F6;border-color:#FED0D6;color:#C97088}
.fresh-hero-chips span:nth-child(even){background:#F4FAD8;border-color:#E4F6A9;color:#88A85E}
.fresh-hero-tools{background:rgba(255,250,252,.82);box-shadow:0 18px 40px rgba(189,222,147,.16)}
.fresh-hero-search{border-color:#E9DCD8}
.fresh-hero-search button,.fresh-mobile-menu{background:linear-gradient(135deg,#BDDE93,#A7C86E);color:#556147}
.fresh-contact-item{background:#FFF4F7}
.fresh-contact-item strong{color:#85A95C}
.fresh-nav-wrap{background:rgba(255,252,251,.96);border-bottom:1px solid #E6DED9;box-shadow:0 5px 18px rgba(160,148,133,.06)}
.fresh-nav-list>li>a{color:#6B6257}
.fresh-nav-list>li.current>a,.fresh-nav-list>li>a:hover{background:#FED0D6;color:#AD6A7F}
.fresh-nav-list li ul{border-color:#E9E1D5;background:#FFFDFC}
.fresh-nav-list li ul a:hover{background:#F6FBE8;color:#86A55E}
.fresh-section-title h1,.fresh-section-title h2,.fresh-products-head h2,.fresh-list-heading h1,.fresh-article h1,.fresh-detail-cats h3,.fresh-category-title{color:#7FAE58}
.fresh-category-card,.fresh-list-heading,.fresh-news-card,.fresh-product-card,.fresh-product-top,.fresh-product-content,.fresh-detail-cats,.fresh-article,.fresh-friends,.sidebar-box,.about-details,.factory-details,.case-details,.contact-table{border-color:#E7E0D5;box-shadow:0 12px 30px rgba(167,200,110,.08)}
.fresh-category-title{background:linear-gradient(90deg,#FFF6F8 0%,#F7FBEA 100%)}
.fresh-category-list>li>a:hover,.fresh-category-row>a:hover{background:#FFF3F6;color:#AD6A7F;border-left-color:#FF82A2}
.fresh-category-toggle{background:#F4FAD8;color:#88A85E}
.fresh-category-sub a:hover{background:#FFF7FA;color:#AD6A7F}
.fresh-products-head .fresh-cats a{border-color:#E9DFD8;background:#fff;color:#887B71}
.fresh-products-head .fresh-cats a:nth-child(odd){background:#FFF3F6;border-color:#FED0D6;color:#C26E86}
.fresh-products-head .fresh-cats a:nth-child(even){background:#F7FBEA;border-color:#E4F6A9;color:#87A65E}
.fresh-product-card{background:#FFFDFC;border-color:#EEE4DB}
.fresh-product-card:hover{border-color:#FED0D6;box-shadow:0 18px 36px rgba(255,130,162,.12)}
.fresh-product-image{background:#FFF8F2}
.fresh-product-meta{border-top-color:#EFE3DB;color:#A0968D}
.fresh-news-cover{background:#FFF5F7}
.fresh-news-card:hover{border-color:#BDDE93;box-shadow:0 16px 34px rgba(189,222,147,.15)}
.fresh-news-date{color:#B29C93}
.fresh-news-title,.fresh-news-title a{color:#5D564E}
.fresh-news-more,.fresh-news-body .more,.fresh-btn,.fresh-page .page a:hover,.n55-pagination a:hover,.fresh-pagination a:hover{background:#FF82A2;color:#fff;border-color:#FF82A2}
.n55-pagination .page-num-current,.fresh-pagination .page-num-current{background:#BDDE93;color:#556147;border-color:#BDDE93}
.fresh-product-summary .fresh-label{background:#F4FAD8;color:#7FA95A}
.fresh-product-badges span:nth-child(odd){background:#FFF2F5;color:#C26F85}
.fresh-product-badges span:nth-child(even){background:#F6FAE8;color:#86A55E}
.fresh-detail-cats a:hover{color:#AD6A7F;background:#FFF3F6}
.sidebar-title{background:linear-gradient(90deg,#FFF3F6 0%,#F6FAE8 100%)!important;color:#7FAE58!important}
.about-details-t h1,.factory-details-t h1,.case-details-t h1,.n55-page-title h1{color:#7FAE58!important}
.fresh-links{background:#FFF9FB;border-top-color:#E8DFD7;border-bottom-color:#E8DFD7}
.fresh-links strong{color:#87A65E}
.fresh-links-list a{color:#84776D;border-right-color:#E7DBD6}
.fresh-footer{background:linear-gradient(135deg,#A7C86E,#BDDE93);color:#506145}
.fresh-footer-contact p,.fresh-footer-contact a,.fresh-footer-bottom{color:#fff}
.fresh-footer-qr img{border:3px solid rgba(255,255,255,.55)}
#scroll{background:linear-gradient(135deg,#FF82A2,#F49BB3);color:#fff}
.fresh-category-title:after,.fresh-section-title h1:after,.fresh-section-title h2:after{background:#FF82A2;opacity:.78}
@media (max-width:860px){
  .fresh-nav-list{background:#FFFDFC;border-color:#E8DFD6}
  .fresh-hero-brand{max-width:100%}
}

/* Font licensing note: front-end copy uses LXGW WenKai GB (OFL-1.1) with system-ui fallback.
   Proprietary desktop-font names are not used by the active theme. */
.fresh-section-title h1,.fresh-section-title h2,.fresh-products-head h2,.fresh-category-title,.fresh-list-heading h1{font-family:"LXGW WenKai GB",system-ui,sans-serif}
@media (max-width:768px){
  .fresh-hero-logo{min-height:56px;max-width:280px;padding:9px 12px}
  .fresh-hero-logo img{max-width:250px;max-height:58px}
  .fresh-hero-wechatqr{padding:8px 10px}
}


/* === 2026-09-03 open-source font compliance pass ===
   Public-page text uses LXGW WenKai GB under SIL OFL-1.1 through a pinned webfont CSS,
   with system-ui fallback. The site customization does not bundle the LXGW desktop font file. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body,button,input,textarea,select{font-family:"LXGW WenKai GB",system-ui,sans-serif}
.main{width:100%;max-width:100%;overflow-x:clip}
.fresh-shell,.fresh-hero-inner,.fresh-nav,.fresh-page,.fresh-home,.fresh-product-top,.fresh-product-lower,.fresh-article,.fresh-simple-page,.fresh-simple-content{min-width:0;max-width:100%}
.fresh-simple-page{width:min(calc(100% - 40px),var(--fresh-shell));margin:0 auto}
.fresh-simple-content{padding:30px 34px;background:#fff;border:1px solid var(--fresh-line);border-radius:20px;box-shadow:0 10px 30px rgba(167,200,110,.07);overflow-wrap:anywhere}
.fresh-about-item{padding:0 0 20px;margin:0 0 20px;border-bottom:1px dashed var(--fresh-line)}
.fresh-about-item:last-child{margin-bottom:0}
.fresh-about-item h2{margin:0 0 8px;font-size:22px;color:#7FAE58}
.fresh-hero-chips span[hidden]{display:none!important}
.fresh-richtext,.n55-richtext,.n72-about-details-box,.factory-details-box,.case-details-box{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.fresh-richtext img,.n55-richtext img,.n72-about-details-box img,.factory-details-box img,.case-details-box img{max-width:100%!important;height:auto!important}
.fresh-richtext video,.n55-richtext video,.fresh-richtext iframe,.n55-richtext iframe{max-width:100%!important}
.fresh-richtext iframe,.n55-richtext iframe{width:100%;aspect-ratio:16/9;height:auto}
.fresh-richtext table,.n55-richtext table,.n72-about-details-box table,.factory-details-box table,.case-details-box table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}
/* The top logo is a real backend image; keep its proportions and never render substitute text. */
.fresh-hero-logo img{max-width:100%;height:auto}

@media (max-width:860px){
  .fresh-hero-inner{gap:18px}
  .fresh-hero-brand{max-width:56%;min-width:0}
  .fresh-hero-tools{min-width:0}
  .fresh-nav-list{max-height:calc(100dvh - 80px);overflow-y:auto}
  .fresh-footer-main{width:100%}
}
@media (max-width:620px){
  .fresh-hero{min-height:0}
  .fresh-hero-inner{min-height:0;flex-direction:column;align-items:stretch;padding:16px 0 18px}
  .fresh-hero-brand{max-width:100%;width:100%;padding:15px 16px}
  .fresh-hero-logo{max-width:100%;min-height:0}
  .fresh-hero-logo img{max-width:min(100%,320px);max-height:72px}
  .fresh-hero-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .fresh-hero-chips span{text-align:center;white-space:normal;padding:6px 8px}
  .fresh-hero-tools{display:block;width:100%;padding:12px;border-radius:16px}
  .fresh-hero-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .fresh-contact-item:nth-child(2){display:block}
  .fresh-contact-item{min-width:0;padding:9px 10px}
  .fresh-contact-item strong{font-size:12px;line-height:1.45;word-break:break-all}
  .fresh-hero-wechatqr{align-items:center}
  .fresh-nav{padding:0 2px}
  .fresh-nav-list{left:0;right:0;width:100%;max-width:100%}
  .fresh-page,.fresh-home{padding-bottom:34px}
  .fresh-simple-page{width:calc(100% - 20px)}
  .fresh-simple-content{padding:20px 16px;border-radius:15px}
  .fresh-product-top,.fresh-list-heading,.fresh-article,.fresh-product-content,.fresh-detail-cats{width:100%;max-width:100%}
  .fresh-main-photo{width:100%}
  .fresh-summary-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fresh-product-badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fresh-footer-logo{flex-direction:column;align-items:flex-start;gap:10px}
  .fresh-footer-logo img{max-width:min(100%,260px)}
  .fresh-footer-qr{flex-wrap:wrap;justify-content:flex-start}
  .fresh-footer-contact{font-size:13px}
  .fresh-footer-contact p{line-height:1.7}
  .fresh-links-list{width:100%}
  #scroll{right:12px;bottom:14px;width:40px;height:40px}
}
@media (max-width:420px){
  .fresh-shell{width:calc(100% - 16px)}
  .fresh-footer .fresh-shell,.fresh-links .fresh-shell{width:calc(100% - 16px)}
  .fresh-product-grid,.fresh-list-panel .fresh-product-grid,.fresh-news-grid{grid-template-columns:1fr}
  .fresh-category-list{grid-template-columns:1fr}
  .fresh-hero-chips{grid-template-columns:1fr 1fr}
  .fresh-hero-contact{grid-template-columns:1fr}
  .fresh-product-badges{grid-template-columns:1fr 1fr}
  .fresh-summary-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fresh-product-summary h1,.fresh-article h1{font-size:23px;line-height:1.45}
  .fresh-footer-qr img{width:92px;height:92px}
}

/* Footer QR images are maintained in 基础内容 → 站点信息. Empty fields are hidden by site.js. */
.fresh-footer-qr figure.is-empty{display:none!important}

/* === 2026-09-03 desktop category sidebar smooth-follow ===
   E-commerce style: the sidebar starts in normal flow, glides with page scrolling,
   and stops inside the product-area boundary instead of being fixed to the viewport. */
@media (min-width:861px){
  .fresh-home-layout,.fresh-list-layout{position:relative}
  .fresh-home-layout>.fresh-category-card,
  .fresh-list-layout>.fresh-category-card{
    position:relative;
    top:auto;
    align-self:start;
    z-index:2;
    will-change:transform;
    transform:translate3d(0,0,0);
    transition:box-shadow .22s ease;
  }
  .fresh-home-layout>.fresh-category-card.is-floating,
  .fresh-list-layout>.fresh-category-card.is-floating{
    box-shadow:0 14px 34px rgba(167,200,110,.14);
  }
}
@media (max-width:860px){
  .fresh-home-layout>.fresh-category-card,
  .fresh-list-layout>.fresh-category-card{
    transform:none!important;
  }
}


/* === 2026-09-03 Yongbang requested adjustments === */
/* 1. Rich-text output: restore editor-controlled list formatting that the global reset removed. */
.fresh-richtext ul{list-style:disc outside;padding-left:2em;margin:0 0 16px}
.fresh-richtext ol{list-style:decimal outside;padding-left:2em;margin:0 0 16px}
.fresh-richtext li{list-style:inherit;margin:.25em 0}
.fresh-richtext ul ul{list-style:circle outside;margin:.25em 0}
.fresh-richtext ul ul ul{list-style:square outside}
.fresh-richtext blockquote{margin:16px 0;padding:10px 16px;border-left:3px solid #D6D9CD;background:#F8F8F4}

/* 2. Home page: reduce the saturation of the large background/color areas only. */
.fresh-home{background:#F2F1EC}
.fresh-home .fresh-category-title{background:linear-gradient(90deg,#F8F4F4 0%,#F4F6F0 100%)}
.fresh-home .fresh-products-head .fresh-cats a:nth-child(odd){background:#F7EEEE;border-color:#E8DDDB;color:#8A7674}
.fresh-home .fresh-products-head .fresh-cats a:nth-child(even){background:#F1F4ED;border-color:#DFE4DA;color:#74806E}

/* 3. Banner: show the backend image cleanly; only the search box overlays it. */
.fresh-hero{height:clamp(230px,18.75vw,360px);min-height:0;background:#F5F3E8}
.fresh-hero-bg{filter:none;opacity:1;object-fit:cover;object-position:center}
.fresh-hero-search-wrap{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;justify-content:flex-end;pointer-events:none}
.fresh-hero-search-wrap .fresh-hero-search{pointer-events:auto;width:360px;height:48px;border:1px solid rgba(211,204,194,.92);border-radius:999px;background:#fff;box-shadow:0 7px 22px rgba(85,78,69,.10)}
.fresh-hero-search-wrap .fresh-hero-search input{padding:0 18px;background:#fff}
.fresh-hero-search-wrap .fresh-hero-search button{width:68px;background:#AFCF8C;color:#556147;font-weight:600}

/* 4. Navigation: pastel pill tabs + backend-managed phone/WeChat. */
.fresh-nav{gap:20px}
.fresh-nav-list{gap:9px;flex-wrap:nowrap}
.fresh-nav-list>li>a{min-height:36px;padding:0 15px;border:1px solid transparent;border-radius:999px;font-size:15px;background:#F5F1ED}
.fresh-nav-list>li:nth-child(odd)>a{background:#F8ECEF;border-color:#EFDDE2;color:#876E74}
.fresh-nav-list>li:nth-child(even)>a{background:#EFF3E9;border-color:#DEE6D7;color:#70806B}
.fresh-nav-list>li.current>a,.fresh-nav-list>li>a:hover{background:#F3E3E7;border-color:#E8D0D7;color:#7D6269}
.fresh-nav-contact{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto;font-size:13px;color:#796E67;white-space:nowrap}
.fresh-nav-contact-item{display:flex;align-items:center;gap:5px}
.fresh-nav-contact-item b{font-weight:500;color:#A56F79}
.fresh-nav-contact-item a,.fresh-nav-contact-item em{font-style:normal;color:#7A716A;font-family:"LXGW WenKai GB",system-ui,sans-serif}

/* 7. Footer: shorter, requested #CAE0AC background, darker text. */
.fresh-footer{background:#CAE0AC;color:#53604C}
.fresh-footer-main{gap:24px;padding:20px 0}
.fresh-footer-logo{padding-right:22px;border-right-color:rgba(77,96,68,.14)}
.fresh-footer-logo img{max-height:60px}
.fresh-footer-qr{gap:12px}
.fresh-footer-qr img{width:88px;height:88px}
.fresh-footer-qr figcaption{margin-top:4px;color:#617057}
.fresh-footer-contact{font-size:13px;line-height:1.7}
.fresh-footer-contact p,.fresh-footer-contact a{color:#53604C}
.fresh-footer-bottom{padding:8px 0;border-top-color:rgba(77,96,68,.14);color:#5C6955}

/* 8. Product density: six products per row on desktop, like the supplied Taobao layout. */
@media (min-width:1101px){
  .fresh-product-grid,.fresh-list-panel .fresh-product-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 14px}
}
@media (min-width:861px) and (max-width:1100px){
  .fresh-product-grid,.fresh-list-panel .fresh-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}
  .fresh-nav-list{gap:6px}
  .fresh-nav-list>li>a{padding:0 11px;font-size:14px}
  .fresh-nav-contact{font-size:12px;gap:8px}
}
@media (max-width:860px){
  .fresh-nav-list{flex-wrap:wrap}
  .fresh-nav-contact{margin-left:auto;flex-direction:column;align-items:flex-end;gap:0;font-size:12px;line-height:1.45}
  .fresh-hero{height:220px;min-height:220px}
  .fresh-hero-search-wrap{top:auto;bottom:16px;transform:translateX(-50%)}
  .fresh-hero-search-wrap .fresh-hero-search{width:min(360px,100%)}
}
@media (max-width:620px){
  .fresh-hero{height:190px;min-height:190px}
  .fresh-hero-search-wrap{bottom:12px;width:calc(100% - 20px)}
  .fresh-hero-search-wrap .fresh-hero-search{height:43px}
  .fresh-nav-contact{max-width:calc(100% - 56px);font-size:11px}
  .fresh-nav-contact-item{max-width:100%}
  .fresh-nav-contact-item a,.fresh-nav-contact-item em{overflow:hidden;text-overflow:ellipsis;max-width:150px}
  .fresh-footer-main{gap:18px;padding:17px 0}
  .fresh-footer-qr img{width:78px;height:78px}
}


/* === 2026-09-03 round 2: only the changes requested in 不干胶20260903-1 === */
/* 1. Match the Tmall-style store content width consistently across fresh and legacy inner pages. */
body.inner-page .inner-page-middle,
body.inner-page .bread-crumb{max-width:var(--fresh-shell)!important;}

/* 2 + 3. Keep the original backend logo/brand area; retain one search box only. */
.fresh-hero{height:clamp(230px,18.75vw,360px);min-height:230px;background:#F5F3E8;}
.fresh-hero-bg{filter:none;opacity:1;object-fit:cover;object-position:center;}
.fresh-hero-inner{position:relative;z-index:2;height:100%;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:24px 0;}
.fresh-hero-search-panel{width:360px;max-width:38%;margin-left:auto;flex:0 0 auto;}
.fresh-hero-search-panel .fresh-hero-search{width:100%;height:48px;border:1px solid rgba(211,204,194,.92);border-radius:999px;background:#fff;box-shadow:0 7px 22px rgba(85,78,69,.10);}
.fresh-hero-search-panel .fresh-hero-search input{padding:0 18px;background:#fff;}
.fresh-hero-search-panel .fresh-hero-search button{width:68px;background:#AFCF8C;color:#556147;font-weight:600;}

/* 4. The navigation has one backend-managed contact string. */
.fresh-nav-contact{margin-left:auto;display:flex;align-items:center;flex:0 0 auto;font-size:13px;color:#A56F79;white-space:nowrap;}
.fresh-nav-contact-text{font-family:"LXGW WenKai GB",system-ui,sans-serif;font-style:normal;font-weight:600;color:#A56F79;}

/* 4. News detail: do not resize/edit the supplied 770px image; make the text column match it. */
.fresh-news-article{max-width:854px;}
.fresh-news-article .fresh-richtext{width:770px;max-width:100%;margin-left:auto;margin-right:auto;}
.fresh-news-article .fresh-richtext img{width:auto!important;max-width:100%!important;height:auto!important;margin-left:auto;margin-right:auto;}

/* 5. Homepage category sidebar uses the same explicit typeface as the 标签产品 heading. */
.fresh-category-list>li>a,
.fresh-category-row>a,
.fresh-category-sub a{font-family:"LXGW WenKai GB",system-ui,sans-serif;}

@media (max-width:860px){
  .fresh-hero{height:auto;min-height:0;}
  .fresh-hero-bg{object-fit:contain;object-position:center;background:#F5F3E8;}
  .fresh-hero-inner{min-height:0;flex-direction:column;align-items:stretch;gap:14px;padding:18px 0;}
  .fresh-hero-brand{width:100%;max-width:610px;margin:0 auto;padding:18px 20px;}
  .fresh-hero-search-panel{width:min(360px,100%);max-width:100%;margin:0 auto;}
  .fresh-nav-contact{margin-left:auto;max-width:calc(100% - 56px);font-size:12px;overflow:hidden;}
  .fresh-nav-contact-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
@media (max-width:620px){
  .fresh-hero-bg{object-fit:contain;object-position:center;}
  .fresh-hero-inner{padding:14px 0 16px;}
  .fresh-hero-brand{width:100%;max-width:420px;padding:15px 16px;}
  .fresh-hero-search-panel{width:100%;}
  .fresh-hero-search-panel .fresh-hero-search{height:43px;}
  .fresh-news-article{max-width:100%;}
  .fresh-news-article .fresh-richtext{width:100%;}
}

/* === 2026-09-04 round 4: requested width / mobile banner / navigation-only changes === */
/* A. Desktop content width: homepage + inner pages use the same 1400px shell. */
:root{--fresh-shell:1400px;}
@media (min-width:861px){
  .fresh-home>.fresh-shell,
  .fresh-page>.fresh-shell,
  .fresh-news-page,
  .fresh-simple-page,
  body.inner-page .inner-page-main,
  body.inner-page .inner-page-middle,
  body.inner-page .bread-crumb{
    width:min(calc(100% - 40px),1400px)!important;
    max-width:1400px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* News detail outer card and factory-show content occupy the 1400px page shell. */
  .fresh-news-article{
    width:100%!important;
    max-width:1400px!important;
  }
  .fresh-simple-content{
    width:100%!important;
    max-width:1400px!important;
  }

  /* Preserve the previous requirement: news body text stays aligned to the prepared 770px images. */
  .fresh-news-article>h1,
  .fresh-news-article>.fresh-article-meta,
  .fresh-news-article>.fresh-richtext{
    width:770px;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  /* Banner left brand card: move slightly right to leave more whitespace on the left. */
  .fresh-hero-brand{
    margin-left:32px;
  }
}

/* B. Navigation tabs: match the homepage product-category pills exactly.
      Static colors only; mouse hover/current state does not recolor the pill. */
.fresh-nav-list{gap:8px;}
.fresh-nav-list>li>a{
  min-height:0;
  padding:6px 12px;
  border:1px solid #E7DCD4;
  border-radius:999px;
  font-size:13px;
  line-height:1.75;
  background:#fff;
  color:#7B6E67;
  transition:none;
}
.fresh-nav-list>li:nth-child(odd)>a,
.fresh-nav-list>li:nth-child(odd).current>a,
.fresh-nav-list>li:nth-child(odd)>a:hover,
.fresh-nav-list>li:nth-child(odd)>a:focus{
  background:#F7EEEE;
  border-color:#E8DDDB;
  color:#8A7674;
}
.fresh-nav-list>li:nth-child(even)>a,
.fresh-nav-list>li:nth-child(even).current>a,
.fresh-nav-list>li:nth-child(even)>a:hover,
.fresh-nav-list>li:nth-child(even)>a:focus{
  background:#F1F4ED;
  border-color:#DFE4DA;
  color:#74806E;
}

/* C. Mobile banner: fill the whole banner box, including the bottom edge.
      Keep the logo/search responsive while preventing the background from leaving an empty strip. */
@media (max-width:860px){
  .fresh-hero{
    height:auto;
    min-height:230px;
  }
  .fresh-hero-bg{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .fresh-hero-inner{
    height:auto;
    min-height:230px;
    justify-content:center;
    box-sizing:border-box;
  }
}
@media (max-width:620px){
  .fresh-hero{
    height:auto;
    min-height:220px;
  }
  .fresh-hero-bg{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .fresh-hero-inner{
    height:auto;
    min-height:220px;
    padding:12px 0 14px;
    gap:10px;
    justify-content:center;
  }
  .fresh-hero-brand{
    padding:12px 14px;
  }
  .fresh-hero-chips{
    margin-top:9px;
    gap:6px;
  }
  .fresh-hero-chips span{
    padding:4px 7px;
    font-size:12px;
  }
}

/* === 2026-09-04 round 5: inner-detail content width correction ===
   The page shell was already 1400px, but the news body itself was still locked to 770px,
   which created large empty bands on both sides. Factory detail uses the same wide inner-page treatment. */
@media (min-width:861px){
  /* News detail: let title, meta and text use the available 1400px card width. */
  .fresh-news-article{
    width:100%!important;
    max-width:1400px!important;
    padding-left:42px;
    padding-right:42px;
  }
  .fresh-news-article>h1,
  .fresh-news-article>.fresh-article-meta,
  .fresh-news-article>.fresh-richtext{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Keep uploaded news images untouched at their natural size; only remove the old text-width lock. */
  .fresh-news-article .fresh-richtext img{
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Factory detail: ensure the actual content card and its paragraphs use the full wide shell. */
  .fresh-simple-page{
    width:min(calc(100% - 40px),1400px)!important;
    max-width:1400px!important;
  }
  .fresh-simple-page>.fresh-simple-content{
    width:100%!important;
    max-width:none!important;
    padding-left:42px;
    padding-right:42px;
  }
}

/* === 2026-09-04 round 6: detail-page image/text edge alignment ===
   News and factory-detail images follow the rich-text content width automatically.
   Original aspect ratio is preserved; no fixed upload dimensions are required for alignment. */
.fresh-news-article .fresh-richtext img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:16px 0!important;
  object-fit:contain;
}


/* === 2026-09-04 round 7: banner redesign so the visual subject stays inside the 1400px shell ===
   Goal: the banner's main composition must not shrink into the top-right corner on desktop, and the same visual content
   must remain visible on mobile instead of being clipped out by the full-width background crop. */
.fresh-hero{
  position:relative;
  min-height:360px;
  height:auto;
  background:#F5F3E8;
}
.fresh-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(245,243,232,.95) 0%,rgba(245,243,232,.86) 33%,rgba(245,243,232,.48) 62%,rgba(245,243,232,.78) 100%);
}
.fresh-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.22;
  filter:none;
}
.fresh-hero-inner{
  position:relative;
  z-index:2;
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:44px;
  padding:34px 0;
}
.fresh-hero-brand{
  flex:0 1 620px;
  max-width:620px;
  width:100%;
  padding:26px 28px;
  border:1px solid rgba(255,130,162,.20);
  border-radius:28px;
  background:rgba(255,251,252,.82);
  box-shadow:0 18px 46px rgba(160,138,116,.10);
  backdrop-filter:blur(8px);
}
.fresh-hero-brand p{
  margin-top:12px;
}
.fresh-hero-media{
  flex:1 1 0;
  min-width:0;
  display:flex;
  justify-content:flex-end;
}
.fresh-hero-visual{
  position:relative;
  width:min(100%,780px);
  min-height:292px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(214,206,196,.90);
  background-color:#EEF3EA;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:76% center;
  box-shadow:0 22px 54px rgba(120,125,92,.12);
}
.fresh-hero-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,250,251,.92) 0%,rgba(255,250,251,.78) 31%,rgba(255,250,251,.36) 54%,rgba(255,250,251,.06) 72%);
}
.fresh-hero-search-panel{
  position:absolute;
  left:26px;
  bottom:26px;
  width:min(calc(100% - 52px),380px);
  max-width:380px;
  margin:0;
  z-index:2;
}
.fresh-hero-search-panel .fresh-hero-search{
  width:100%;
  height:48px;
  border:1px solid rgba(211,204,194,.92);
  border-radius:999px;
  background:#fff;
  box-shadow:0 8px 26px rgba(85,78,69,.10);
}
.fresh-hero-search-panel .fresh-hero-search input{
  padding:0 18px;
  background:#fff;
}
.fresh-hero-search-panel .fresh-hero-search button{
  width:68px;
  background:#AFCF8C;
  color:#556147;
  font-weight:600;
}

@media (max-width:1160px){
  .fresh-hero-inner{gap:28px;}
  .fresh-hero-brand{flex-basis:540px;max-width:540px;}
  .fresh-hero-visual{width:min(100%,680px);min-height:270px;}
}

@media (max-width:860px){
  .fresh-hero{min-height:0;height:auto;}
  .fresh-hero::before{background:linear-gradient(180deg,rgba(245,243,232,.92) 0%,rgba(245,243,232,.78) 42%,rgba(245,243,232,.58) 100%);}
  .fresh-hero-bg{opacity:.18;object-position:center center;}
  .fresh-hero-inner{
    min-height:0;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:14px;
    padding:18px 0 20px;
  }
  .fresh-hero-brand{
    max-width:100%;
    padding:18px 20px;
  }
  .fresh-hero-media{
    width:100%;
    justify-content:stretch;
  }
  .fresh-hero-visual{
    width:100%;
    min-height:230px;
    border-radius:24px;
    background-position:center center;
  }
  .fresh-hero-search-panel{
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
    max-width:none;
  }
}

@media (max-width:620px){
  .fresh-hero-inner{padding:14px 0 18px;gap:12px;}
  .fresh-hero-brand{padding:15px 16px;border-radius:22px;}
  .fresh-hero-brand p{font-size:14px;letter-spacing:.04em;}
  .fresh-hero-visual{min-height:200px;border-radius:20px;background-position:center center;background-size:cover;}
  .fresh-hero-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
  .fresh-hero-chips span{text-align:center;white-space:normal;padding:6px 8px;}
  .fresh-hero-search-panel .fresh-hero-search{height:44px;}
}

@media (max-width:420px){
  .fresh-hero-visual{min-height:184px;}
  .fresh-hero-search-panel{left:10px;right:10px;bottom:10px;}
  .fresh-hero-search-panel .fresh-hero-search input{padding:0 14px;}
  .fresh-hero-search-panel .fresh-hero-search button{width:60px;}
}


/* === 2026-09-04 round 8: simplify banner, remove the two extra cards and reduce mobile whitespace === */
.fresh-hero{
  position:relative;
  height:clamp(270px,16.7vw,320px)!important;
  min-height:270px!important;
  overflow:hidden;
  background:#F5F3E8;
}
.fresh-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(247,245,235,.86) 0%,rgba(247,245,235,.66) 30%,rgba(247,245,235,.18) 58%,rgba(247,245,235,.04) 100%);
  pointer-events:none;
}
.fresh-hero-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
}
.fresh-hero-inner{
  position:relative!important;
  z-index:2!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:42px!important;
  padding:24px 0!important;
}

/* Logo/content sits directly on the banner: no outer white/pink card. */
.fresh-hero-brand{
  flex:0 1 560px!important;
  width:auto!important;
  max-width:560px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.fresh-hero-brand p{
  margin:10px 0 0!important;
  color:#7E786F!important;
  font-size:17px!important;
  letter-spacing:.07em!important;
}
.fresh-hero-chips{
  margin-top:14px!important;
  gap:8px!important;
}

/* Search sits directly on the banner: no image card / frosted panel behind it. */
.fresh-hero-media,
.fresh-hero-visual{display:none!important;}
.fresh-hero-search-panel{
  position:static!important;
  flex:0 0 390px!important;
  width:390px!important;
  max-width:390px!important;
  margin:0 40px 0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.fresh-hero-search-panel .fresh-hero-search{
  width:100%!important;
  height:46px!important;
  border:1px solid rgba(208,201,190,.95)!important;
  border-radius:999px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 6px 18px rgba(87,80,70,.08)!important;
}
.fresh-hero-search-panel .fresh-hero-search input{
  min-width:0!important;
  flex:1!important;
  padding:0 18px!important;
  background:#fff!important;
}
.fresh-hero-search-panel .fresh-hero-search button{
  width:66px!important;
  border:0!important;
  background:#AFCF8C!important;
  color:#556147!important;
  font-weight:600!important;
}

@media (max-width:1100px){
  .fresh-hero-search-panel{
    flex-basis:340px!important;
    width:340px!important;
    max-width:340px!important;
    margin-right:10px!important;
  }
  .fresh-hero-brand{max-width:500px!important;}
}

/* Mobile: one compact banner canvas, not two stacked cards. */
@media (max-width:860px){
  .fresh-hero{
    height:238px!important;
    min-height:238px!important;
  }
  .fresh-hero::before{
    background:linear-gradient(90deg,rgba(247,245,235,.94) 0%,rgba(247,245,235,.78) 48%,rgba(247,245,235,.22) 76%,rgba(247,245,235,.06) 100%)!important;
  }
  .fresh-hero-bg{
    object-fit:cover!important;
    object-position:72% center!important;
  }
  .fresh-hero-inner{
    position:relative!important;
    display:block!important;
    height:100%!important;
    padding:14px 0!important;
  }
  .fresh-hero-brand{
    width:72%!important;
    max-width:360px!important;
    padding:0!important;
  }
  .fresh-hero-logo{
    min-height:0!important;
    max-width:250px!important;
    padding:8px 11px!important;
  }
  .fresh-hero-logo img{
    max-width:225px!important;
    max-height:54px!important;
  }
  .fresh-hero-brand p{
    margin-top:7px!important;
    font-size:13px!important;
    letter-spacing:.03em!important;
    white-space:nowrap!important;
  }
  .fresh-hero-chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    margin-top:9px!important;
  }
  .fresh-hero-chips span{
    padding:4px 7px!important;
    font-size:11px!important;
    line-height:1.35!important;
    white-space:nowrap!important;
  }
  .fresh-hero-search-panel{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:13px!important;
    width:min(360px,100%)!important;
    max-width:360px!important;
    margin:0 auto!important;
  }
  .fresh-hero-search-panel .fresh-hero-search{
    height:42px!important;
  }
}

@media (max-width:620px){
  .fresh-hero{
    height:220px!important;
    min-height:220px!important;
  }
  .fresh-hero-bg{
    object-position:74% center!important;
  }
  .fresh-hero-inner{
    width:calc(100% - 24px)!important;
    padding:10px 0!important;
  }
  .fresh-hero-brand{
    width:78%!important;
    max-width:300px!important;
  }
  .fresh-hero-logo{
    max-width:205px!important;
    padding:7px 9px!important;
  }
  .fresh-hero-logo img{
    max-width:185px!important;
    max-height:45px!important;
  }
  .fresh-hero-brand p{
    font-size:12px!important;
  }
  .fresh-hero-chips{
    max-width:270px!important;
    gap:4px!important;
    margin-top:7px!important;
  }
  .fresh-hero-chips span{
    padding:3px 6px!important;
    font-size:10px!important;
  }
  .fresh-hero-search-panel{
    bottom:9px!important;
    width:100%!important;
    max-width:none!important;
  }
  .fresh-hero-search-panel .fresh-hero-search{
    height:40px!important;
  }
  .fresh-hero-search-panel .fresh-hero-search button{
    width:60px!important;
  }
}

@media (max-width:400px){
  .fresh-hero{height:210px!important;min-height:210px!important;}
  .fresh-hero-brand{width:82%!important;}
  .fresh-hero-chips span{font-size:9.5px!important;}
}


/* === 2026-09-04 round 9: show the backend banner image completely, without any crop ===
   The banner image itself defines the banner aspect ratio. Do not force a fixed height and do not use cover. */
.fresh-hero{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  background:#F5F3E8!important;
}
.fresh-hero::before,
.fresh-hero::after{
  display:none!important;
  content:none!important;
}
.fresh-hero-bg{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  background:transparent!important;
}

/* Keep existing desktop logo/search functionality, but float it over the complete image rather than changing image geometry. */
.fresh-hero-inner{
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  width:min(calc(100% - 40px),1400px)!important;
  max-width:1400px!important;
  height:100%!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:40px!important;
  pointer-events:none;
}
.fresh-hero-brand,
.fresh-hero-search-panel{
  pointer-events:auto;
}
.fresh-hero-brand{
  flex:0 1 560px!important;
  width:auto!important;
  max-width:560px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.fresh-hero-search-panel{
  position:static!important;
  flex:0 0 360px!important;
  width:360px!important;
  max-width:360px!important;
  margin:0 28px 0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Tablet/mobile: the image remains 100% complete. The logo block is hidden so it cannot cover the small full-image preview;
   the search bar is placed immediately below the image, with no large blank banner area. */
@media (max-width:860px){
  .fresh-hero{
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .fresh-hero-bg{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .fresh-hero-inner{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:7px 12px 8px!important;
    display:block!important;
    background:#F5F3E8!important;
  }
  .fresh-hero-brand{
    display:none!important;
  }
  .fresh-hero-search-panel{
    position:static!important;
    width:min(360px,100%)!important;
    max-width:360px!important;
    margin:0 auto!important;
  }
  .fresh-hero-search-panel .fresh-hero-search{
    height:40px!important;
    box-shadow:none!important;
  }
}

@media (max-width:620px){
  .fresh-hero-inner{
    width:100%!important;
    padding:6px 10px 7px!important;
  }
  .fresh-hero-search-panel{
    width:100%!important;
    max-width:none!important;
  }
  .fresh-hero-search-panel .fresh-hero-search{
    height:38px!important;
  }
  .fresh-hero-search-panel .fresh-hero-search button{
    width:58px!important;
  }
}


/* === 2026-09-04 round 10: backend image dimensions control the visible banner dimensions ===
   Desktop: use the uploaded image's intrinsic pixel size whenever it fits the viewport.
   Smaller screens: scale the same image down proportionally only when necessary.
   No fixed banner height, no cover crop, no forced 100%-width stretch. */
.fresh-hero{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#F5F3E8!important;
}
.fresh-hero-stage{
  position:relative!important;
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  line-height:0!important;
  overflow:hidden!important;
}
.fresh-hero-bg{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}

/* Overlay controls stay inside the actual image area, so they never add extra banner height. */
.fresh-hero-inner{
  position:absolute!important;
  z-index:2!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(calc(100% - 40px),1400px)!important;
  max-width:1400px!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:40px!important;
  line-height:normal!important;
  pointer-events:none!important;
  background:transparent!important;
}
.fresh-hero-brand,
.fresh-hero-search-panel{
  pointer-events:auto!important;
}

/* Mobile still uses the uploaded image ratio; nothing is appended below it. */
@media (max-width:860px){
  .fresh-hero-stage{
    width:max-content!important;
    max-width:100%!important;
  }
  .fresh-hero-bg{
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
  }
  .fresh-hero-inner{
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
    height:100%!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    background:transparent!important;
  }
  .fresh-hero-brand{
    display:none!important;
  }
  .fresh-hero-search-panel{
    position:static!important;
    flex:0 1 360px!important;
    width:min(360px,100%)!important;
    max-width:360px!important;
    margin:0 0 10px!important;
  }
  .fresh-hero-search-panel .fresh-hero-search{
    height:38px!important;
    box-shadow:0 4px 14px rgba(85,78,69,.10)!important;
  }
}

@media (max-width:620px){
  .fresh-hero-inner{
    width:calc(100% - 16px)!important;
  }
  .fresh-hero-search-panel{
    width:100%!important;
    max-width:none!important;
    margin-bottom:7px!important;
  }
  .fresh-hero-search-panel .fresh-hero-search{
    height:36px!important;
  }
  .fresh-hero-search-panel .fresh-hero-search button{
    width:56px!important;
  }
}


/* === 2026-09-04 round 11: banner fills the full website width, height follows uploaded image ratio ===
   The backend-uploaded banner is always shown in full: no crop, no fixed height, no cover mode.
   Rendered height is derived automatically from the uploaded image's own aspect ratio after it fills the viewport width. */
.fresh-hero{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#F5F3E8!important;
}
.fresh-hero-stage{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  overflow:hidden!important;
}
.fresh-hero-bg{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  image-rendering:auto!important;
}

/* Keep controls as overlays only; they do not participate in banner height calculation. */
.fresh-hero-inner{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(calc(100% - 40px),1400px)!important;
  max-width:1400px!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
}

@media (max-width:860px){
  .fresh-hero-stage{
    width:100%!important;
    max-width:none!important;
  }
  .fresh-hero-bg{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .fresh-hero-inner{
    width:calc(100% - 20px)!important;
    height:100%!important;
  }
}

@media (max-width:620px){
  .fresh-hero-inner{
    width:calc(100% - 16px)!important;
  }
}


/* === 2026-09-04 factory video layout fix ===
   Direct MP4 links inserted by the editor used to render inside an iframe.
   Browsers then showed a large black iframe viewport with a much smaller video centered inside it.
   factoryshow.html converts only direct video-file iframes to a native <video> element. */
.fresh-simple-content .fresh-factory-video-wrap{
  width:100%;
  margin:0 auto 26px!important;
  padding:0!important;
  text-align:center;
  line-height:0;
}
.fresh-simple-content .fresh-factory-video{
  display:block;
  width:min(100%,960px)!important;
  max-width:960px!important;
  height:auto!important;
  margin:0 auto!important;
  background:#000;
  border:0;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  object-fit:contain;
}
@media (max-width:860px){
  .fresh-simple-content .fresh-factory-video-wrap{
    margin-bottom:18px!important;
  }
  .fresh-simple-content .fresh-factory-video{
    width:100%!important;
    max-width:100%!important;
    border-radius:9px;
  }
}


/* === 2026-09-04 factory video/image edge alignment r2 ===
   Make the factory video use exactly the same content width as the image area below.
   Height remains automatic so the source video aspect ratio is preserved without stretching. */
.fresh-simple-content .fresh-factory-video-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0 0 26px!important;
  padding:0!important;
  text-align:left!important;
  line-height:0;
}
.fresh-simple-content .fresh-factory-video{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
  background:#000;
  border:0;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
@media (max-width:860px){
  .fresh-simple-content .fresh-factory-video-wrap{
    width:100%!important;
    margin-bottom:18px!important;
  }
  .fresh-simple-content .fresh-factory-video{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    border-radius:9px;
  }
}


/* === 2026-09-04 document revision: 不干胶网站0904 items 1-10 === */
/* 1. Navigation: contact typography matches the nav; desktop nav is larger.
      Hover/current state follows the requested pink pagination-style state with white text. */
.fresh-nav-list>li>a,
.fresh-nav-contact-text{
  font-family:"LXGW WenKai GB",system-ui,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.55;
}
.fresh-nav-contact{
  color:#7B6E67!important;
  font-size:17px!important;
}
.fresh-nav-contact-text{color:#7B6E67!important;}
.fresh-nav-list>li>a{
  min-height:38px!important;
  padding:5px 15px!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}
.fresh-nav-list>li>a:hover,
.fresh-nav-list>li>a:focus,
.fresh-nav-list>li.current>a{
  background:#FF82A2!important;
  border-color:#FF82A2!important;
  color:#fff!important;
}

/* 2 + 3. Homepage: remove the “标签产品” title; sidebar becomes 产品分类.
   JS measures the product header so the 产品分类 card starts exactly at the first product-image top. */
.fresh-products-copy p{
  margin:0!important;
  color:#9C8F88;
  font-size:14px;
}
.fresh-category-title,
.fresh-category-list>li>a,
.fresh-category-row>a,
.fresh-category-sub a{
  font-family:"LXGW WenKai GB",system-ui,sans-serif!important;
}
.fresh-category-title{font-size:20px!important;}

/* 4. Footer: logo is directly beside the vertical divider and QR codes; entire information block is centered. */
.fresh-footer-main{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:30px!important;
  width:min(calc(100% - 48px),1400px)!important;
  padding:18px 0!important;
}
.fresh-footer-brandgroup{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  flex:0 0 auto;
}
.fresh-footer-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:0 20px 0 0!important;
  margin:0!important;
  border-right:1px solid rgba(77,96,68,.28)!important;
}
.fresh-footer-logo img{max-width:220px!important;max-height:58px!important;}
.fresh-footer-qr{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.fresh-footer-qr img{width:78px!important;height:78px!important;}
.fresh-footer-contact{
  flex:0 1 auto;
  min-width:0;
  text-align:left;
}

/* 5. Product breadcrumb current product name. */
.fresh-breadcrumb-current{color:#8A817A;}

/* 6 + 7 + 8. Product detail:
   - category and service backgrounds hug their text;
   - image top begins exactly after the title/category row;
   - white-card inner side padding is increased. */
.fresh-product-top{
  grid-template-columns:minmax(0,760px) minmax(300px,1fr)!important;
  grid-template-rows:auto auto;
  column-gap:42px!important;
  row-gap:0!important;
  padding:36px 56px 48px!important;
}
.fresh-product-heading{
  grid-column:2;
  grid-row:1;
  min-width:0;
  padding:4px 2px 0;
}
.fresh-product-heading h1{
  margin:0;
  font-family:"LXGW WenKai GB",system-ui,sans-serif;
  font-size:27px;
  line-height:1.55;
  color:#4D433E;
  font-weight:600;
}
.fresh-product-heading .fresh-label{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%;
  align-self:flex-start!important;
  margin-top:14px!important;
  padding:6px 12px!important;
  border-radius:999px;
  background:#F4FAD8;
  color:#7FA95A;
  font-size:14px;
  line-height:1.6;
}
.fresh-gallery{
  grid-column:1;
  grid-row:2;
  align-self:start;
}
.fresh-product-summary{
  grid-column:2;
  grid-row:2;
  padding:16px 2px 0!important;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.fresh-product-summary .fresh-desc{
  margin:0!important;
  padding-top:0!important;
  border-top:0!important;
}
.fresh-product-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin-top:20px!important;
}
.fresh-product-badges span{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:100%;
  min-width:0!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  line-height:1.55;
  text-align:center;
}
.fresh-product-lower{margin-top:30px!important;}
.fresh-product-content{padding:38px 56px!important;}

/* 8 + 9. News detail: retain a generous white-card inset, but content typography/images come from backend editor output. */
.fresh-news-article{
  padding:40px 58px 52px!important;
}
.fresh-news-article .fresh-news-backend-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:24px;
  color:inherit;
  overflow-wrap:anywhere;
  word-break:normal;
  overflow-x:auto;
}

/* 9. Backend-authoritative rich text for 标签(不干胶)简介 and concrete news pages.
   Do not impose frontend font size/family/line-height, image width, image height, margins or radius.
   Only the outer container/whitespace and text wrapping are controlled by the theme. */
.fresh-backend-content{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  overflow-x:auto;
}
.fresh-backend-content img{
  max-width:none;
  height:revert;
  display:revert;
  margin:revert;
  border-radius:revert;
}
.fresh-about-backend-content{
  padding:42px 58px!important;
}

/* 10. 工厂展示: no white card, no cream/yellow page field.
   Backend image dimensions/styles are respected instead of being forced to fill the content width. */
body.fresh-factory-page,
body.fresh-factory-page .fresh-page{
  background:#fff!important;
}
body.fresh-factory-page .fresh-simple-page{
  background:#fff!important;
}
body.fresh-factory-page .fresh-factory-backend-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.fresh-factory-page .fresh-factory-backend-content img{
  max-width:none!important;
  height:revert;
  margin:revert;
  border-radius:revert;
  object-fit:revert;
}

/* Keep the factory video aligned to the full backend content row without distorting its source ratio. */
body.fresh-factory-page .fresh-factory-video-wrap{
  width:100%!important;
  max-width:100%!important;
  margin:0 0 24px!important;
  padding:0!important;
}
body.fresh-factory-page .fresh-factory-video{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  margin:0!important;
}

@media (max-width:1100px) and (min-width:861px){
  .fresh-product-top{
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
    padding-left:40px!important;
    padding-right:40px!important;
  }
  .fresh-nav-list>li>a,.fresh-nav-contact-text{font-size:15px!important;}
  .fresh-nav-contact{font-size:15px!important;}
}

@media (max-width:860px){
  .fresh-nav-list>li>a,.fresh-nav-contact-text{font-size:15px!important;}
  .fresh-nav-contact{font-size:15px!important;}
  .fresh-category-card{margin-top:0!important;}
  .fresh-product-top{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    gap:16px!important;
    padding:22px 20px 26px!important;
  }
  .fresh-product-heading{grid-column:1;grid-row:auto;}
  .fresh-gallery{grid-column:1;grid-row:auto;}
  .fresh-product-summary{grid-column:1;grid-row:auto;}
  .fresh-product-heading h1{font-size:23px;}
  .fresh-product-content{padding:26px 22px!important;}
  .fresh-news-article{padding:28px 24px 34px!important;}
  .fresh-about-backend-content{padding:28px 24px!important;}
  .fresh-footer-main{
    flex-direction:column!important;
    gap:16px!important;
    padding:17px 0!important;
  }
  .fresh-footer-brandgroup{width:100%;}
  .fresh-footer-contact{text-align:center!important;}
}

@media (max-width:620px){
  .fresh-product-top{padding:18px 16px 22px!important;}
  .fresh-product-content{padding:22px 18px!important;}
  .fresh-news-article{padding:24px 18px 28px!important;}
  .fresh-about-backend-content{padding:24px 18px!important;}
  .fresh-footer-brandgroup{gap:12px;}
  .fresh-footer-logo{padding-right:12px!important;}
  .fresh-footer-logo img{max-width:150px!important;max-height:48px!important;}
  .fresh-footer-qr img{width:68px!important;height:68px!important;}
}


/* === 2026-09-04: 产品分类标题底部对齐第一排产品主图顶部 === */
@media (min-width:861px){
  .fresh-home-layout>.fresh-category-card .fresh-category-title{
    padding-bottom:0!important;
    margin-bottom:0!important;
    line-height:1.2!important;
  }
}

/* === 2026-09-04: 产品分类标题区去底色并增加上下呼吸感 === */
@media (min-width:861px){
  .fresh-home-layout>.fresh-category-card .fresh-category-title{
    background:transparent!important;
    border-bottom:0!important;
    padding:18px 20px 0!important;
    margin-bottom:14px!important;
    line-height:1.35!important;
  }
  .fresh-home-layout>.fresh-category-card .fresh-category-list>li>a,
  .fresh-home-layout>.fresh-category-card .fresh-category-row>a{
    padding-top:13px!important;
    padding-bottom:13px!important;
  }
}


/* === 2026-09-04: inner-page whitespace enlarged again per feedback ===
   Desktop white-card content gets substantially larger side insets.
   Product/news/about detail pages are adjusted; factory-show remains backend-native and frameless. */
@media (min-width:1450px){
  .fresh-product-top{
    padding:64px 120px 76px!important;
    column-gap:56px!important;
  }
  .fresh-product-content{
    padding:64px 120px 74px!important;
  }
  .fresh-news-article{
    padding:66px 120px 78px!important;
  }
  .fresh-about-backend-content{
    padding:66px 120px 78px!important;
  }
}

@media (min-width:1101px) and (max-width:1449px){
  .fresh-product-top{
    padding:52px 76px 64px!important;
    column-gap:48px!important;
  }
  .fresh-product-content{
    padding:52px 76px 64px!important;
  }
  .fresh-news-article{
    padding:56px 76px 68px!important;
  }
  .fresh-about-backend-content{
    padding:56px 76px 68px!important;
  }
}

@media (min-width:861px) and (max-width:1100px){
  .fresh-product-top{
    padding:44px 52px 56px!important;
  }
  .fresh-product-content{
    padding:44px 52px 56px!important;
  }
  .fresh-news-article{
    padding:48px 52px 60px!important;
  }
  .fresh-about-backend-content{
    padding:48px 52px 60px!important;
  }
}


/* === 2026-09-04 r16: product badges 2x2 + substantially larger whitespace on ALL inner pages === */
/* Product detail service badges: always two per row, while each pill still hugs its own text. */
.fresh-product-badges{
  display:grid!important;
  grid-template-columns:repeat(2,max-content)!important;
  justify-content:start!important;
  align-items:start!important;
  gap:12px 14px!important;
}
.fresh-product-badges span{
  justify-self:start!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Keep the 1400px page shell, but add a real inner gutter so every inner page breathes more. */
@media (min-width:1450px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    box-sizing:border-box!important;
    padding-left:70px!important;
    padding-right:70px!important;
  }
  body.inner-page .inner-page-main{
    padding-top:34px!important;
    padding-bottom:70px!important;
  }

  /* Product detail cards: larger left/right breathing room without breaking the two-column layout. */
  .fresh-product-top{
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
    padding:72px 105px 86px!important;
    column-gap:60px!important;
  }
  .fresh-product-content{
    padding:84px 125px 96px!important;
  }

  /* News / about / generic simple inner pages. */
  .fresh-news-article{
    padding:82px 125px 96px!important;
  }
  .fresh-simple-page>.fresh-simple-content:not(.fresh-factory-backend-content){
    padding:82px 110px 94px!important;
  }
  .fresh-about-backend-content{
    padding:82px 125px 96px!important;
  }

  /* Legacy inner pages: honor/case/FAQ/contact/search/message etc. */
  .inner-page-box,
  .about-details,
  .factory-details,
  .case-details,
  .contact-table{
    padding:50px 64px!important;
  }
  .inner-page-content{
    gap:42px!important;
  }
  .fresh-list-heading{
    padding:30px 36px!important;
  }
}

@media (min-width:1101px) and (max-width:1449px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    box-sizing:border-box!important;
    padding-left:56px!important;
    padding-right:56px!important;
  }
  body.inner-page .inner-page-main{
    padding-top:32px!important;
    padding-bottom:64px!important;
  }
  .fresh-product-top{
    grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)!important;
    padding:62px 82px 74px!important;
    column-gap:50px!important;
  }
  .fresh-product-content{
    padding:68px 92px 80px!important;
  }
  .fresh-news-article{
    padding:70px 92px 82px!important;
  }
  .fresh-simple-page>.fresh-simple-content:not(.fresh-factory-backend-content){
    padding:68px 86px 80px!important;
  }
  .fresh-about-backend-content{
    padding:70px 92px 82px!important;
  }
  .inner-page-box,
  .about-details,
  .factory-details,
  .case-details,
  .contact-table{
    padding:44px 54px!important;
  }
  .inner-page-content{gap:36px!important;}
  .fresh-list-heading{padding:28px 32px!important;}
}

@media (min-width:861px) and (max-width:1100px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    box-sizing:border-box!important;
    padding-left:42px!important;
    padding-right:42px!important;
  }
  body.inner-page .inner-page-main{
    padding-top:30px!important;
    padding-bottom:58px!important;
  }
  .fresh-product-top{
    padding:54px 62px 66px!important;
  }
  .fresh-product-content{
    padding:56px 68px 66px!important;
  }
  .fresh-news-article{
    padding:58px 68px 70px!important;
  }
  .fresh-simple-page>.fresh-simple-content:not(.fresh-factory-backend-content){
    padding:56px 64px 68px!important;
  }
  .fresh-about-backend-content{
    padding:58px 68px 70px!important;
  }
  .inner-page-box,
  .about-details,
  .factory-details,
  .case-details,
  .contact-table{
    padding:38px 44px!important;
  }
}

/* Mobile keeps useful whitespace too, but does not sacrifice too much content width. */
@media (max-width:860px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    box-sizing:border-box!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .fresh-product-top{padding:30px 26px 34px!important;}
  .fresh-product-content{padding:32px 28px!important;}
  .fresh-news-article{padding:34px 28px 40px!important;}
  .fresh-simple-page>.fresh-simple-content:not(.fresh-factory-backend-content){padding:32px 28px 38px!important;}
  .fresh-about-backend-content{padding:34px 28px 40px!important;}
  .inner-page-box,
  .about-details,
  .factory-details,
  .case-details,
  .contact-table{padding:30px 26px!important;}
}
@media (max-width:620px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .fresh-product-top{padding:26px 20px 30px!important;}
  .fresh-product-content{padding:28px 22px!important;}
  .fresh-news-article{padding:30px 22px 34px!important;}
  .fresh-simple-page>.fresh-simple-content:not(.fresh-factory-backend-content){padding:28px 22px 34px!important;}
  .fresh-about-backend-content{padding:30px 22px 34px!important;}
  .inner-page-box,
  .about-details,
  .factory-details,
  .case-details,
  .contact-table{padding:26px 20px!important;}
}


/* === 2026-09-04 r17: inner-page outer width must match homepage ===
   Keep the larger whitespace INSIDE detail cards, but do not narrow the page shell itself.
   Inner-page shell uses exactly the same 1400px / responsive width rule as the homepage. */
.fresh-page>.fresh-shell,
body.inner-page .inner-page-main{
  width:min(calc(100% - 40px),var(--fresh-shell))!important;
  max-width:var(--fresh-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Detail/list blocks fill that shared shell; visual breathing room comes from their own inner padding only. */
.fresh-news-article,
.fresh-product-top,
.fresh-product-lower,
.fresh-product-content,
.fresh-simple-page>.fresh-simple-content,
.inner-page-box,
.inner-page-content{
  max-width:100%!important;
}

@media (max-width:860px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    width:min(calc(100% - 28px),var(--fresh-shell))!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
@media (max-width:620px){
  .fresh-page>.fresh-shell,
  body.inner-page .inner-page-main{
    width:min(calc(100% - 20px),var(--fresh-shell))!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* === 2026-09-04 r18: product detail separator below category label === */
.fresh-product-heading{
  padding-bottom:14px!important;
  border-bottom:1px solid #E8DED6;
}


/* === 2026-09-04 r21: homepage category sidebar slightly narrower; product area gets the saved width === */
@media (min-width:861px){
  .fresh-home-layout{
    grid-template-columns:190px minmax(0,1fr)!important;
    gap:24px!important;
  }
  .fresh-home-layout>.fresh-category-card .fresh-category-title{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .fresh-home-layout>.fresh-category-card .fresh-category-list>li>a,
  .fresh-home-layout>.fresh-category-card .fresh-category-row>a{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* === 2026-09-04 nav hover-only correction ===
   Current page is NOT permanently highlighted. Only the item physically under the mouse turns pink/white. */
.fresh-nav-list>li.current:not(:hover)>a,
.fresh-nav-list>li:nth-child(odd).current:not(:hover)>a{
  background:#F7EEEE!important;
  border-color:#E8DDDB!important;
  color:#8A7674!important;
}
.fresh-nav-list>li:nth-child(even).current:not(:hover)>a{
  background:#F1F4ED!important;
  border-color:#DFE4DA!important;
  color:#74806E!important;
}
/* Focus alone must not create a second highlighted block after clicking/tabbing. */
.fresh-nav-list>li:nth-child(odd)>a:focus:not(:hover){
  background:#F7EEEE!important;
  border-color:#E8DDDB!important;
  color:#8A7674!important;
}
.fresh-nav-list>li:nth-child(even)>a:focus:not(:hover){
  background:#F1F4ED!important;
  border-color:#DFE4DA!important;
  color:#74806E!important;
}
/* The only pink state is the currently hovered item. */
.fresh-nav-list>li>a:hover{
  background:#FF82A2!important;
  border-color:#FF82A2!important;
  color:#fff!important;
}


/* === 2026-09-04 product category list heading cleanup ===
   Keep only the category name; remove the oversized white card/background. */
.fresh-product-list-heading{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 18px!important;
  padding:0 4px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.fresh-product-list-heading h1{
  display:inline-block;
  margin:0!important;
  padding:0!important;
  font-size:28px;
  line-height:1.35;
}
.fresh-product-list-heading p{display:none!important;}
@media (max-width:620px){
  .fresh-product-list-heading{margin-bottom:14px!important;padding:0 2px!important;}
  .fresh-product-list-heading h1{font-size:24px;}
}


/* === 2026-09-04 factory video: use the media file's intrinsic pixel size ===
   factoryshow.html reads videoWidth/videoHeight from loaded metadata.
   Backend editor width/height are ignored. Desktop never enlarges the source;
   narrow screens may only scale it down proportionally. */
body.fresh-factory-page .fresh-factory-video-wrap{
  display:block!important;
  width:auto;
  max-width:100%!important;
  height:auto!important;
  margin:0 0 24px!important;
  padding:0!important;
  text-align:left!important;
  line-height:0;
  background:transparent!important;
  overflow:visible!important;
}
body.fresh-factory-page .fresh-factory-video{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000;
  object-fit:contain!important;
}


/* === 2026-09-04 DOC FINAL: requirements 1-6 === */

/* 1. Banner: 1400px website width; outer sides inherit homepage background. */
.fresh-hero{
  width:100%!important;
  background:var(--fresh-bg)!important;
}
.fresh-hero-stage{
  width:min(100%,var(--fresh-shell))!important;
  max-width:var(--fresh-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  background:var(--fresh-bg)!important;
}
.fresh-hero-bg{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* 2. 分类 / 点击全部显示，不截断，不改变产品卡片框架。 */
.fresh-product-meta{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:6px 10px!important;
  flex-wrap:wrap!important;
  white-space:normal!important;
  overflow:visible!important;
}
.fresh-product-meta span{
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.55!important;
}
.fresh-product-meta span:first-child{
  flex:1 1 120px!important;
  overflow-wrap:anywhere!important;
}
.fresh-product-meta span:last-child{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* 3. 产品详情布局：主图顶端与右侧标题顶端对齐，小图放到主图下方。 */
@media (min-width:861px){
  .fresh-product-top{
    grid-template-columns:minmax(0,760px) minmax(300px,1fr)!important;
    grid-template-rows:auto 1fr!important;
    align-items:start!important;
    column-gap:42px!important;
    row-gap:0!important;
  }
  .fresh-gallery{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:start!important;
  }
  .fresh-product-heading{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    padding-top:0!important;
  }
  .fresh-product-summary{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
  }
}
.fresh-gallery .fresh-summary-thumbs{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid var(--fresh-line)!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
}
.fresh-product-params{
  margin:24px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px solid var(--fresh-line)!important;
}
.fresh-product-param{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  padding:10px 0!important;
  border-bottom:1px dashed #EDE3DC!important;
}
.fresh-product-param dt{
  margin:0!important;
  color:#6C7E67!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
.fresh-product-param dd{
  margin:0!important;
  min-width:0!important;
  color:#665A54!important;
  overflow-wrap:anywhere!important;
}
@media (max-width:860px){
  .fresh-gallery .fresh-summary-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width:480px){
  .fresh-gallery .fresh-summary-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .fresh-product-param{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important;}
}

/* 4. 工厂展示：恢复与不干胶简介一致的白色内容底框。 */
body.fresh-factory-page,
body.fresh-factory-page .fresh-page,
body.fresh-factory-page .fresh-simple-page{
  background:var(--fresh-bg)!important;
}
body.fresh-factory-page .fresh-factory-backend-content{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:70px 92px 82px!important;
  background:#fff!important;
  border:1px solid var(--fresh-line)!important;
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(167,200,110,.07)!important;
  overflow-wrap:anywhere!important;
  overflow-x:auto!important;
}

/* 后台编辑器设置的视频左/中/右位置会被保留；不再强制左对齐。 */
body.fresh-factory-page .fresh-factory-video-wrap{
  display:inline-block!important;
  width:min(var(--factory-video-width,100%),100%)!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 0 24px!important;
  padding:0!important;
  line-height:0!important;
  vertical-align:top!important;
  background:transparent!important;
  overflow:visible!important;
  text-align:initial!important;
}
body.fresh-factory-page .fresh-factory-video-wrap[data-video-align="center"]{
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.fresh-factory-page .fresh-factory-video-wrap[data-video-align="right"]{
  display:block!important;
  margin-left:auto!important;
  margin-right:0!important;
}
body.fresh-factory-page .fresh-factory-video-wrap[data-video-align="left"]{
  display:block!important;
  margin-left:0!important;
  margin-right:auto!important;
}
body.fresh-factory-page .fresh-factory-video{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
@media (max-width:1100px) and (min-width:861px){
  body.fresh-factory-page .fresh-factory-backend-content{padding:58px 68px 70px!important;}
}
@media (max-width:860px){
  body.fresh-factory-page .fresh-factory-backend-content{padding:34px 28px 40px!important;}
}
@media (max-width:620px){
  body.fresh-factory-page .fresh-factory-backend-content{padding:30px 22px 34px!important;}
}

/* 5-6. 底部删除二维码文字说明；Logo、二维码和联系信息整体上下左右对齐。 */
.fresh-footer-main{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:30px!important;
  min-height:118px!important;
  padding:20px 0!important;
}
.fresh-footer-brandgroup{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:20px!important;
}
.fresh-footer-logo{align-self:center!important;}
.fresh-footer-qr{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.fresh-footer-qr figure{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  line-height:0!important;
}
.fresh-footer-qr img{
  display:block!important;
  width:78px!important;
  height:78px!important;
  margin:0!important;
}
.fresh-footer-contact{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:center!important;
  margin:0!important;
}
.fresh-footer-contact p{margin:2px 0!important;}
@media (max-width:860px){
  .fresh-footer-main{
    flex-direction:column!important;
    min-height:0!important;
    gap:16px!important;
  }
  .fresh-footer-contact{
    align-items:center!important;
    text-align:center!important;
  }
}

/* 2026-09-04：产品卡片“分类 / 点击”强制保持同一排完整显示。 */
.fresh-product-meta{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:4px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:clamp(9px,.78vw,11px)!important;
  line-height:1.45!important;
}
.fresh-product-meta span,
.fresh-product-meta span:first-child,
.fresh-product-meta span:last-child{
  flex:0 1 auto!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
.fresh-product-meta span:last-child{
  flex-shrink:0!important;
  margin-left:auto!important;
}

/* === 2026-09-04: 首页 / 内页统一浅灰色背景 ===
   仅调整页面底色；产品卡片、内容白框、导航和底部区域保持原有样式。 */
:root{
  --fresh-bg:#F5F5F5!important;
}
html,
body,
.fresh-home,
.fresh-page,
.fresh-simple-page,
body.inner-page,
body.inner-page .inner-page-main,
body.inner-page .inner-page-middle,
body.fresh-factory-page,
body.fresh-factory-page .fresh-page,
body.fresh-factory-page .fresh-simple-page{
  background:#F5F5F5!important;
}
/* Banner 1400px 外侧继续跟随全站底色。 */
.fresh-hero,
.fresh-hero-stage{
  background:#F5F5F5!important;
}

/* === 2026-09-04: responsive backend images for 标签(不干胶)简介 + 工厂展示 ===
   Keep the editor/original desktop width when it fits the white card.
   Only scale images down when the viewport/card becomes narrower; never upscale or distort. */
.fresh-about-backend-content img,
body.fresh-factory-page .fresh-factory-backend-content img{
  max-width:100%!important;
  height:auto!important;
  box-sizing:border-box!important;
}

/* === 2026-09-04: 产品详情主图尺寸微调 ===
   Desktop: cap the gallery/main image at 700px instead of letting it expand to 760px.
   The grid can still shrink naturally on narrower screens; image ratio is unchanged. */
@media (min-width:861px){
  .fresh-product-top{
    grid-template-columns:minmax(0,700px) minmax(300px,1fr)!important;
  }
  .fresh-gallery{
    width:100%!important;
    max-width:700px!important;
  }
  .fresh-main-photo{
    width:100%!important;
    max-width:700px!important;
    height:auto!important;
    aspect-ratio:1/1!important;
  }
  .fresh-main-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
}

/* === 2026-09-04: banner 左侧品牌内容水平位置微调 ===
   参照右侧搜索框与 banner 边缘的留白，将左侧品牌模块控制在约 44px；
   既避免过度靠右，也让左右两侧视觉留白更协调。手机端不受影响。 */
@media (min-width:861px){
  .fresh-hero-brand{
    margin-left:44px!important;
  }
}


/* === 2026-09-04: 搜索结果页取消右侧栏 ===
   仅搜索结果页使用单栏全宽布局，其他内页侧栏保持原样。 */
body.inner-page .search-page-content{
  display:block!important;
}
body.inner-page .search-page-content>.inner-page-r{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

/* === 2026-09-04: 搜索结果页 hover 统一为整站浅绿 / 米白色调 ===
   仅影响搜索结果，不改变产品中心等其他页面。 */
body.inner-page .search-page-content .product-category .product-item{
  transition:background-color .22s ease, box-shadow .22s ease, border-color .22s ease;
  border-left:3px solid transparent;
}
body.inner-page .search-page-content .product-category li:hover .product-item{
  background:#FBFCF8;
  border-left-color:#AFCF8C;
  box-shadow:0 8px 24px rgba(111,135,108,.08);
}
body.inner-page .search-page-content .product-item-text h2 a{
  color:#4F4A45;
  transition:color .2s ease;
}
body.inner-page .search-page-content .product-item-text h2 a:hover,
body.inner-page .search-page-content .product-category li:hover .product-item-text h2 a{
  color:#738B68!important;
}
body.inner-page .search-page-content .product-item-text span a.more{
  color:#66755F!important;
  background:#F1F4ED!important;
  border:1px solid #DFE4DA;
  border-radius:3px;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
body.inner-page .search-page-content .product-item-text span a.more:hover{
  color:#556147!important;
  background:#DCEBC8!important;
  border-color:#C9DDAE!important;
}
body.inner-page .search-page-content .product-image img{
  transition:transform .35s ease;
}
body.inner-page .search-page-content .product-category li:hover .product-image img{
  transform:scale(1.015);
}

/* === 2026-09-04: 搜索结果页码与新闻中心统一 ===
   默认：白底米灰边框；当前页：浅绿；鼠标悬停：粉色白字。
   仅作用于搜索结果页，不改其他内页分页。 */
body.inner-page .search-page-content .n55-pagination{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin-top:30px!important;
  padding:24px 10px 28px!important;
  flex-wrap:wrap!important;
}
body.inner-page .search-page-content .n55-pagination>a,
body.inner-page .search-page-content .n55-pagination>span,
body.inner-page .search-page-content .n55-pagination .page-num,
body.inner-page .search-page-content .n55-pagination .page-num-current{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:36px!important;
  height:36px!important;
  padding:0 10px!important;
  margin:0!important;
  border:1px solid #E7DAD2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#796D66!important;
  line-height:36px!important;
  box-sizing:border-box!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
body.inner-page .search-page-content .n55-pagination .page-num-current,
body.inner-page .search-page-content .n55-pagination>span.current{
  background:#BDDE93!important;
  border-color:#BDDE93!important;
  color:#556147!important;
}
body.inner-page .search-page-content .n55-pagination>a:hover,
body.inner-page .search-page-content .n55-pagination .page-num:hover,
body.inner-page .search-page-content .n55-pagination .page_button:hover{
  background:#FF82A2!important;
  border-color:#FF82A2!important;
  color:#fff!important;
}
@media (max-width:620px){
  body.inner-page .search-page-content .n55-pagination>a,
  body.inner-page .search-page-content .n55-pagination>span,
  body.inner-page .search-page-content .n55-pagination .page-num,
  body.inner-page .search-page-content .n55-pagination .page-num-current{
    min-width:32px!important;
    height:32px!important;
    padding:0 8px!important;
    line-height:32px!important;
  }
}


/* === 2026-09-08 full-image hero logo ===
   Banner 左上角整个 LOGO 区域只显示后台上传的一张完整图片：
   绿色底色、中文、英文都直接做在同一张图里，前台不再额外生成底色。 */
.fresh-hero-logo{
  display:inline-block!important;
  padding:0!important;
  margin:0!important;
  line-height:0!important;
  min-height:0!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.fresh-hero-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:260px!important;
  max-height:100px!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:18px!important;
  background:none!important;
  box-shadow:none!important;
}
@media (max-width:768px){
  .fresh-hero-logo{
    max-width:none!important;
  }
  .fresh-hero-logo img{
    max-width:234px!important;
    max-height:90px!important;
  }
}
@media (max-width:420px){
  .fresh-hero-logo img{
    max-width:min(100%,234px)!important;
    max-height:90px!important;
  }
}


/* === 2026-09-08 factory external MP4 stability ===
   Keep a visible native player before remote metadata arrives and prevent
   editor/video.js residue from collapsing the media element. */
body.fresh-factory-page .fresh-factory-video-wrap{
  aspect-ratio:var(--factory-video-ratio,16 / 9)!important;
  min-width:0!important;
}
body.fresh-factory-page .fresh-factory-video{
  position:relative!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  min-height:1px!important;
  aspect-ratio:var(--factory-video-ratio,16 / 9)!important;
  background:#000!important;
  object-fit:contain!important;
}
body.fresh-factory-page .fresh-factory-video-wrap.is-video-ready{
  aspect-ratio:var(--factory-video-ratio)!important;
}


/* === 2026-09-10 product category short-page footer fix ===
   Product category pages can contain fewer cards than the viewport height.
   In normal document flow the footer then ends before the viewport bottom, leaving the body background visible below it.
   Scope the sticky-footer layout to productlist only; long product lists keep normal document scrolling. */
body.fresh-product-list-page{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
body.fresh-product-list-page>.fresh-page{
  flex:1 0 auto;
}
body.fresh-product-list-page>.fresh-links,
body.fresh-product-list-page>.fresh-footer{
  flex:0 0 auto;
}
