/* V4 目录专用：所有视觉限制在目录根节点，产品详情、辅助集合和首页不受影响。 */
.yumin-products-catalog-v4 { --catalog-ink:#0c2c2f; --catalog-muted:#5b7377; --catalog-teal:#00928e; --products-teal:#00928e; color:var(--catalog-ink); background:#f4f8f7; font-family:Inter,Arial,sans-serif; line-height:1.65; }
.yumin-products-catalog-v4 * { box-sizing:border-box; }
.yumin-catalog-container { width:min(1184px,calc(100% - 56px)); margin-inline:auto; }
.yumin-products-catalog-v4 .yumin-catalog-eyebrow { margin:0 0 22px; color:#006360; font-size:11.52px; line-height:1.7; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.yumin-products-catalog-v4 h2 { margin:0; color:var(--catalog-ink); font-size:clamp(29.6px,3vw,41.6px); line-height:1.16; letter-spacing:-.02em; font-weight:700; }
.yumin-products-catalog-v4 .yumin-catalog-lead { max-width:62ch; margin:18px 0 0; color:var(--catalog-muted); font-size:15.52px; line-height:1.72; }
.yumin-products-catalog-v4 .yumin-products-hero { aspect-ratio:auto; display:flex; align-items:center; padding:calc(78px + clamp(52px,6vw,84px)) 0 clamp(56px,6vw,86px); background-color:#00928e; background-image:var(--yumin-page-hero-image); background-position:58% center; }
.yumin-products-catalog-v4 .yumin-products-hero__inner { width:min(1184px,calc(100% - 56px)); min-height:clamp(360px,44vh,500px); margin-inline:auto; padding:0; display:flex; align-items:center; }
.yumin-products-catalog-v4 .yumin-page-hero__content { width:100%; max-width:min(56%,680px); }
.yumin-products-catalog-v4 .yumin-page-hero__veil { background:linear-gradient(100deg,#00655d 0%,#00928e 14%,#008a84 30%,#00928ee6 45%,#00928e9e 58%,#00928e57 71%,#00928e24 83%,#00928e0a 93%,#00928e00 100%); }
.yumin-products-catalog-v4 .yumin-page-hero__eyebrow { margin:0; color:#7fe3dc; font-size:11.52px; font-weight:700; line-height:1.7; letter-spacing:.14em; }
.yumin-products-catalog-v4 .yumin-page-hero__title { max-width:11em; margin:14px 0 0; font-size:clamp(33.6px,3.6vw,54.4px); line-height:1.06; letter-spacing:-.035em; font-weight:800; color:#fff; }
.yumin-products-catalog-v4 .yumin-page-hero__description { max-width:60ch; margin:18px 0 0; font-size:clamp(16.64px,1.35vw,19.2px); line-height:1.6; white-space:normal; color:#ffffffcc; }
.yumin-catalog-crumbs { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:28px; font-size:12.5px; color:#ffffffad; }
.yumin-catalog-crumbs a { color:inherit; text-decoration:none; }
.yumin-catalog-crumbs i { width:4px; height:4px; border-radius:50%; background:#ffffff6b; }
.yumin-catalog-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.yumin-catalog-badges span { padding:7px 13px; border-radius:999px; background:#ffffff26; color:#fff; font-size:12px; font-weight:700; line-height:1.2; }
.yumin-catalog-list { padding-top:clamp(64px,7.5vw,116px); scroll-margin-top:14px; }
.yumin-catalog-list-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:56px; }
.yumin-catalog-count { flex:none; margin:0; color:#5b7377; font-size:13.5px; }
.yumin-products-catalog-v4 .yumin-products-categories { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:10px; min-height:0; margin:0 0 20px; padding:0; border:0; overflow:visible; }
.yumin-products-catalog-v4 .yumin-products-categories__item { display:inline-flex; width:auto; min-height:42px; margin:0; padding:10px 18px; border:1px solid #c9dad8; border-radius:999px; background:#fff; color:#0c2c2f; font-size:13.44px; font-weight:600; line-height:1.4; text-decoration:none; white-space:normal; transition:background .42s,color .42s,border-color .42s,transform .42s cubic-bezier(.22,.61,.36,1); }
.yumin-products-catalog-v4 .yumin-products-categories__item::after { display:none; }
.yumin-products-catalog-v4 .yumin-products-categories__item.is-active { background:#00928e; border-color:#00928e; color:#fff; }
.yumin-products-catalog-v4 .yumin-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.yumin-products-catalog-v4 .yumin-product-card { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #dce9e8; border-radius:22px; background:#fff; color:#0c2c2f; box-shadow:none; transition:transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s cubic-bezier(.22,.61,.36,1),border-color .42s cubic-bezier(.22,.61,.36,1); }
.yumin-products-catalog-v4 .yumin-product-card__media { position:relative; display:block; flex:none; aspect-ratio:1; width:calc(100% - 80px); margin:16px 40px; padding:0; overflow:hidden; border-radius:0; background:#f1f8f7; }
.yumin-products-catalog-v4 .yumin-product-card__media img { width:100%; height:100%; min-height:0; object-fit:contain; transition:transform 1s cubic-bezier(.16,1,.3,1); }
/* 标签固定在媒体框左上角，不随图片缩放；实色底板、细边框与柔和阴影保证白底/深色图都清晰。 */
.yumin-products-catalog-v4 .yumin-catalog-tag { position:absolute; left:12px; top:12px; z-index:9; display:block; box-sizing:border-box; min-height:29px; max-width:calc(100% - 24px); overflow:hidden; padding:4px 10px; border:1px solid #dce9e8; border-radius:999px; background:#fff; box-shadow:0 2px 8px rgba(12,44,47,.09); color:#006360; font-size:11.5px; line-height:19px; font-weight:700; letter-spacing:-.01em; white-space:nowrap; text-overflow:ellipsis; transform:none; }
.yumin-products-catalog-v4 .yumin-product-card__body { display:flex; flex-direction:column; flex:1; align-items:stretch; gap:6px; min-height:0; padding:18px 20px 22px; }
.yumin-products-catalog-v4 .yumin-catalog-category { margin:0; font-size:11.52px; font-weight:700; letter-spacing:.1em; color:#006360; text-transform:uppercase; }
.yumin-products-catalog-v4 .yumin-product-card__title { margin:0; padding:0; color:#0c2c2f; font-size:17.92px; font-weight:700; line-height:1.36; letter-spacing:-.02em; }
.yumin-products-catalog-v4 .yumin-product-card__title a { color:inherit; }
.yumin-products-catalog-v4 .yumin-product-card__body > :nth-last-child(2) { margin-bottom:0; }
.yumin-products-catalog-v4 .yumin-product-card__link { display:inline-flex; align-self:stretch; justify-content:flex-start; gap:8px; width:100%; min-height:34px; margin-top:auto; padding:12px 0 0; border:0; border-radius:0; background:transparent; color:#006360; font-size:13.44px; font-weight:650; line-height:1.65; }
.yumin-products-catalog-v4 .yumin-product-card__link span { font-size:inherit; }
.yumin-catalog-arrow { width:20px; height:10px; flex:none; transition:transform .42s cubic-bezier(.22,.61,.36,1); }
.yumin-products-catalog-v4 .yumin-product-card__link .yumin-catalog-arrow { width:18px; height:9px; }
.yumin-products-catalog-v4 .yumin-products-pagination { width:min(1184px,calc(100% - 56px)); margin:40px auto 0; padding:0; }
.yumin-products-catalog-v4 .yumin-products-pagination__controls { gap:24px; flex-wrap:wrap; }
.yumin-products-catalog-v4 .page-numbers { border-radius:50%; }
/* 各内容区同时保留上下留白；结果区额外底部留白包含独立分页，避免两个区块挤在一起。 */
.yumin-products-catalog-v4 [data-yumin-catalog-results] { padding-bottom:clamp(64px,7.5vw,116px); }
.yumin-catalog-section { padding:clamp(64px,7.5vw,116px) 0; }
.yumin-catalog-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:56px; }
.yumin-catalog-tile { display:flex; flex-direction:column; gap:12px; min-width:0; padding:28px 26px; border:1px solid #dce9e8; border-radius:22px; background:#fff; color:#0c2c2f; text-decoration:none; transition:transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s cubic-bezier(.22,.61,.36,1),border-color .42s cubic-bezier(.22,.61,.36,1); }
.yumin-products-catalog-v4 .yumin-catalog-tile .yumin-catalog-eyebrow { margin:0; }
.yumin-catalog-tile h3 { margin:0; font-size:19.52px; line-height:1.3; color:inherit; }
.yumin-catalog-tile p { margin:0; font-size:14.4px; line-height:1.68; color:#5b7377; }
.yumin-catalog-other-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:56px; }
.yumin-catalog-other { display:block; overflow:hidden; border:1px solid #dce9e8; border-radius:22px; background:#fff; color:#0c2c2f; text-decoration:none; transition:transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s cubic-bezier(.22,.61,.36,1),border-color .42s cubic-bezier(.22,.61,.36,1); }
.yumin-catalog-other-media { display:grid; place-items:center; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(160deg,#f1f8f7,#e9f5f3); }
.yumin-catalog-other-media img { display:block; width:100%; height:100%; padding:22px; object-fit:contain; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.yumin-catalog-other-body { padding:22px 24px 26px; }
.yumin-catalog-other h3 { margin:0; font-size:17.92px; line-height:1.3; letter-spacing:-.02em; color:inherit; }
.yumin-catalog-other p { margin:9px 0 0; font-size:14.08px; line-height:1.7; color:#5b7377; }
.yumin-catalog-other-go { display:inline-flex; align-items:center; gap:9px; margin-top:16px; color:#007e7a; font-size:13.5px; font-weight:700; }
.yumin-catalog-quote { position:relative; isolation:isolate; overflow:hidden; margin-top:0; padding:clamp(64px,7.5vw,116px) 0; background:linear-gradient(135deg,#007e7a,#00928e 46%,#008a84); color:#fff; }
.yumin-catalog-quote::after { content:""; position:absolute; z-index:-1; bottom:-50%; left:-6%; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,rgba(47,184,172,.34),transparent 62%); pointer-events:none; }
.yumin-catalog-quote::before { content:""; position:absolute; z-index:-1; top:-40%; right:-8%; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle,#ffffff24,transparent 60%); pointer-events:none; }
.yumin-products-catalog-v4 .yumin-catalog-quote h2 { max-width:900px; color:#fff; }
.yumin-catalog-quote p { max-width:62ch; margin:16px 0 36px; color:#ffffffd1; font-size:15.52px; line-height:1.72; }
.yumin-catalog-quote .yumin-catalog-badges { align-items:center; gap:12px; margin:0 0 16px; }
.yumin-catalog-quote .yumin-catalog-badges span { padding:7px 15px; font-size:12.5px; line-height:1.65; background:#ffffff21; }
.yumin-catalog-quote .yumin-catalog-badges i { width:4px; height:4px; flex:none; border-radius:50%; background:#ffffff59; }
.yumin-catalog-quote-button { display:inline-flex; align-items:center; gap:12px; min-height:62px; margin-top:0; padding:18px 32px; border-radius:999px; background:#fff; color:#006360; text-decoration:none; font-size:16px; line-height:1.65; font-weight:700; transition:transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s,background .42s; }
.yumin-catalog-status { position:fixed; z-index:100; top:96px; right:24px; width:auto; max-width:calc(100vw - 40px); padding:16px 20px; border-radius:12px; color:#24474b; background:#edf6f5; }
.yumin-catalog-status[hidden] { display:none; }
.yumin-products-catalog-v4 [aria-busy="true"] { opacity:.65; }
.yumin-products-catalog-v4 :is(a,button):focus-visible { outline:3px solid #007e7a; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
 .yumin-products-catalog-v4 .yumin-products-categories__item:hover { border-color:#00928e; color:#007e7a; transform:translateY(-2px); }
 .yumin-products-catalog-v4 .yumin-products-categories__item.is-active:hover { color:#fff; }
 .yumin-products-catalog-v4 .yumin-product-card:hover { transform:translateY(-6px); background:#fff; border-color:#cfebe6; box-shadow:0 4px 14px #0c1f1d0f,0 12px 32px #0c1f1d0f; }
 .yumin-products-catalog-v4 .yumin-product-card:hover .yumin-product-card__title a { color:#0c2c2f; }
 .yumin-products-catalog-v4 .yumin-product-card:hover .yumin-product-card__link { color:#006360; background:transparent; }
 .yumin-products-catalog-v4 .yumin-product-card:hover .yumin-product-card__media img { transform:scale(1.07); }
 .yumin-products-catalog-v4 .yumin-product-card:hover .yumin-catalog-arrow { transform:translateX(4px); }
 .yumin-catalog-tile:hover,.yumin-catalog-other:hover { transform:translateY(-6px); border-color:#cfebe6; box-shadow:0 4px 14px #0c1f1d0f,0 12px 32px #0c1f1d0f; }
 .yumin-catalog-other:hover { transform:translateY(-7px); }
 .yumin-catalog-other:hover .yumin-catalog-other-media img { transform:scale(1.05); }
 .yumin-catalog-other:hover .yumin-catalog-arrow { transform:translateX(5px); }
 .yumin-catalog-quote-button:hover { transform:translateY(-2px); background:#f1f8f7; box-shadow:0 10px 30px #00403f40; }
 .yumin-catalog-quote-button:hover .yumin-catalog-arrow { transform:translateX(4px); }
}
@media(max-width:1080px) { .yumin-products-catalog-v4 .yumin-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .yumin-catalog-tiles,.yumin-catalog-other-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .yumin-products-catalog-v4 .yumin-products-hero { padding-top:122px; background-position:70% center; } .yumin-products-catalog-v4 .yumin-products-hero__inner { min-height:clamp(340px,42vh,440px); } .yumin-products-catalog-v4 .yumin-page-hero__content { max-width:100%; } .yumin-products-catalog-v4 .yumin-page-hero__veil { background:linear-gradient(178deg,#00655d,#00928e 22%,#00928ee0 44%,#00928e7a 66%,#00928e29 84%,#00928e0a); } }
@media(max-width:640px) { .yumin-catalog-container,.yumin-products-catalog-v4 .yumin-products-hero__inner,.yumin-products-catalog-v4 .yumin-products-pagination { width:calc(100% - 40px); } .yumin-products-catalog-v4 .yumin-products-grid,.yumin-catalog-tiles,.yumin-catalog-other-grid { grid-template-columns:1fr; } .yumin-catalog-list-head { align-items:flex-start; flex-direction:column; gap:20px; } .yumin-products-catalog-v4 .yumin-products-hero { padding-top:110px; } }
@media(prefers-reduced-motion:reduce) { .yumin-products-catalog-v4 *, .yumin-products-catalog-v4 *::before { transition:none!important; animation:none!important; } .yumin-products-catalog-v4 :is(.yumin-product-card,.yumin-catalog-filter,.yumin-catalog-tile,.yumin-catalog-other,.yumin-catalog-quote-button):hover,.yumin-products-catalog-v4 .yumin-product-card:hover .yumin-product-card__media img { transform:none; } }

/* 保留原菜单与历史链接使用的区域锚点，配合全站 scroll-padding 避开固定页头。 */
.yumin-products-catalog-v4 :is(#yumin-products-category,#yumin-other-devices,#yumin-products-oem) { scroll-margin-top:14px; }

/* 图片加载独立于卡片/水波：只在脚本确认尚未解码时遮住照片，不阻塞型号或原生链接。 */
.yumin-products-catalog-v4 .yumin-product-card.is-image-loading .yumin-product-card__media > img { opacity:0; filter:blur(8px); }
.yumin-products-catalog-v4 .yumin-product-card__media > img { filter:blur(0); transition:opacity .6s ease,filter .65s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1); }
.yumin-image-loading { position:absolute; inset:0; z-index:1; border-radius:inherit; overflow:hidden; pointer-events:none; opacity:1; background:radial-gradient(ellipse at 34% 60%,#cce7e2 0%,#e5f2ef 40%,#f3f8f6 80%); transition:opacity .6s ease; }
.yumin-image-loading::before { content:""; position:absolute; inset:-40%; background:linear-gradient(115deg,transparent 22%,#b4dcd466 38%,#ffffffed 49%,#b4dcd466 59%,transparent 76%); animation:yumin-image-light 3s ease-in-out infinite; }
.yumin-image-loading canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.9; }
.yumin-image-loading span { position:absolute; left:12px; right:12px; bottom:16px; text-align:center; color:#356764; font-size:11px; line-height:1.6; letter-spacing:.025em; }
.yumin-product-card.is-image-ready .yumin-image-loading { opacity:0; }
.yumin-product-card.is-image-error .yumin-image-loading::before { animation:none; opacity:0; }
@keyframes yumin-image-light { 0%,100% { transform:translateX(-24%); opacity:.3; } 50% { transform:translateX(24%); opacity:.85; } }
@media(prefers-reduced-motion:reduce) { .yumin-image-loading::before { animation:none; } .yumin-product-card__media > img,.yumin-image-loading { transition:none; } }

/* CSS 液态光带兜底：不依赖 WebGL，使用两层柔化折光带，减少动态效果时保持静态。 */
.yumin-image-loading::after { content:""; position:absolute; inset:-35%; pointer-events:none; background:linear-gradient(128deg,transparent 27%,#67b9ac66 39%,#ffffffcf 47%,transparent 57%,#7abeb455 66%,transparent 78%); filter:blur(9px); animation:yumin-image-glass 4.8s ease-in-out infinite alternate; }
.yumin-image-loading canvas { z-index:1; }
.yumin-image-loading > span { z-index:2; }
.yumin-product-card.is-image-ready .yumin-image-loading::after { animation-play-state:paused; }
.yumin-product-card.is-image-error .yumin-image-loading::after { animation:none; opacity:0; }
@keyframes yumin-image-glass { from { transform:translate(-9%,7%) rotate(-12deg) scale(.95); } to { transform:translate(12%,-9%) rotate(15deg) scale(1.12); } }
@media(prefers-reduced-motion:reduce) { .yumin-image-loading::after { animation:none; } .yumin-products-catalog-v4 .yumin-product-card__media > img { filter:none!important; transition:none; } }

/* 整卡加载层位于文字下方；媒体不再用实色底遮挡波纹，型号/按钮始终使用原生 DOM。 */
.yumin-products-catalog-v4 .yumin-product-card:is(.is-image-loading,.is-image-ready,.is-image-error) { isolation:isolate; }
.yumin-products-catalog-v4 .yumin-product-card:is(.is-image-loading,.is-image-ready,.is-image-error) .yumin-product-card__media { z-index:2; background:transparent; }
.yumin-products-catalog-v4 .yumin-product-card:is(.is-image-loading,.is-image-ready,.is-image-error) .yumin-product-card__body { position:relative; z-index:3; background:linear-gradient(#ffffffd9,#fffffff2); }
.yumin-image-loading-label { position:absolute; z-index:2; left:8px; right:8px; bottom:16px; text-align:center; color:#285b57; font-size:11px; line-height:1.6; pointer-events:none; transition:opacity .6s ease; }
.yumin-product-card.is-image-ready .yumin-image-loading-label { opacity:0; }
@media(prefers-reduced-motion:reduce) { .yumin-image-loading-label { transition:none; } }

/* 悬浮水波覆盖整卡，原生正文和按钮位于画布之上，只有图片区域发生折射。 */
.yumin-products-catalog-v4 .yumin-product-card__body { position:relative; z-index:9; }
