/* JIAJUN shared 02 MODELS catalog (v3). SINGLE stylesheet for Products and Configurator.
   Alter the single MODELS list in shared-model-catalog-v3.js to update both pages together. */
.jjc-catalog{--jjc-ink:#222723;--jjc-muted:#858d85;--jjc-hair:#dbdfd9;--jjc-image:#eeefeb;color:var(--jjc-ink);width:100%;margin-top:clamp(24px,3.2vw,48px);font-family:inherit}
.jjc-catalog *{box-sizing:border-box}
.jjc-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:25px;border-top:1px solid var(--jjc-hair);border-bottom:1px solid var(--jjc-hair);min-height:70px}
.jjc-filters{display:flex;align-items:stretch;flex-wrap:wrap;gap:clamp(18px,2.4vw,45px)}
.jjc-filter{position:relative;display:inline-flex;gap:9px;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;padding:0 0 2px;color:#828b82;font:inherit;font-size:clamp(12px,1vw,15px);transition:color .24s ease}
.jjc-filter span{white-space:nowrap}.jjc-filter sup{font:inherit;font-size:10px;color:#a1aaa1;line-height:1;align-self:center}
.jjc-filter::after{position:absolute;content:'';height:2px;bottom:-1px;left:0;width:100%;background:#292f2a;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.jjc-filter[aria-pressed=true]{color:#212621}.jjc-filter[aria-pressed=true]::after{transform:scaleX(1)}
.jjc-filter:hover{color:#1d231e}
.jjc-sort-label{display:flex;align-items:center;gap:18px;color:#919a91;font-size:12px;flex-shrink:0;white-space:nowrap}
.jjc-sort-label select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#202621;font-size:12px;font-weight:650;cursor:pointer;min-width:125px;padding:12px 22px 12px 6px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2329312b' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1px center}
.jjc-count{margin:20px 0 25px;min-height:16px;color:#929a92;font-size:11px;line-height:1.5}
.jjc-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.5vw,42px) clamp(12px,1.35vw,22px);align-items:start}
.jjc-card,.jjc-slot{min-width:0;width:100%;margin:0}
.jjc-photo,.jjc-slot-art{display:block;position:relative;width:100%;height:clamp(250px,25vw,368px);background:var(--jjc-image);overflow:hidden;border:0}
.jjc-photo{cursor:pointer}
.jjc-photo img{position:absolute;inset:50% auto auto 50%;width:94%;height:76%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform:translate(-50%,-50%);transition:transform .58s cubic-bezier(.22,1,.36,1)}
.jjc-card:hover .jjc-photo img{transform:translate(-50%,-51.5%) scale(1.019)}
.jjc-img-head,.jjc-img-foot{position:absolute;z-index:1;left:clamp(15px,1.5vw,26px);font-size:9px;font-weight:650;letter-spacing:.1em;color:#808980;line-height:1.4}
.jjc-img-head{top:clamp(15px,1.5vw,26px)}.jjc-img-foot{bottom:clamp(15px,1.5vw,26px)}
.jjc-img-arrow{position:absolute;right:14px;top:14px;width:33px;height:33px;border-radius:50%;background:#fdfdfbf4;display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;color:#2b312c;transition:transform .25s ease}
.jjc-card:hover .jjc-img-arrow{transform:translate(2px,-2px)}
.jjc-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:17px 0 0;min-height:74px}
.jjc-caption-main{min-width:0;flex:1}.jjc-caption h3{font-size:clamp(15px,1.25vw,19px);line-height:1.3;letter-spacing:-.045em;font-weight:520;margin:0 0 8px}
.jjc-caption-main p{font-size:10px;line-height:1.7;color:#8a9289;margin:0;white-space:normal}
.jjc-action{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;align-self:flex-start;max-width:48%;padding:4px 0 6px;border:0;border-bottom:1px solid transparent;white-space:nowrap;background:transparent;color:#6d7a70;font-size:10px;font-weight:650;line-height:1.4;cursor:pointer;text-align:right;text-decoration:none}
.jjc-action:hover{border-bottom-color:#748676;color:#243129}
.jjc-detail{margin-top:8px;display:inline-flex;font-size:10px;color:#90998f;border-bottom:1px solid transparent;padding-bottom:3px;line-height:1.5}
.jjc-detail:hover{border-bottom-color:#90998f;color:#344339}
.jjc-slot-art{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,1.6vw,26px);background:#f3f3f0;border:1px solid #e7e9e3}
.jjc-slot-head{display:flex;align-items:center;justify-content:space-between;color:#919991;font-size:9px;letter-spacing:.12em;font-weight:650}
.jjc-slot-plus{font-size:18px;font-weight:350;color:#bac1b8}.jjc-slot-ghost{align-self:center;margin:auto;color:#d1d6ce;font-size:36px;font-weight:250}
.jjc-slot-foot{color:#a3aaa2;font-size:9px;letter-spacing:.13em;font-weight:650}
.jjc-slot-caption{display:flex;align-items:flex-start;padding:18px 0;min-height:72px;color:#959c94;font-size:clamp(13px,1vw,16px)}
.jjc-filter:focus-visible,.jjc-sort-label select:focus-visible,.jjc-photo:focus-visible,.jjc-action:focus-visible,.jjc-detail:focus-visible{outline:2px solid #748676;outline-offset:3px}
@media(min-width:971px) and (max-width:1319px){.jjc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}}
@media(max-width:970px){.jjc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.jjc-photo,.jjc-slot-art{height:330px}.jjc-toolbar{gap:8px;min-height:66px}.jjc-filters{gap:18px}.jjc-filter{font-size:12px}.jjc-sort-label{gap:5px}}
@media(max-width:640px){.jjc-grid{grid-template-columns:1fr}.jjc-photo,.jjc-slot-art{height:300px}.jjc-toolbar{align-items:center;flex-wrap:wrap;padding-top:12px}.jjc-filters{min-height:48px}.jjc-sort-label{padding-bottom:12px}.jjc-count{margin:15px 0}}
@media(prefers-reduced-motion:reduce){.jjc-photo img,.jjc-img-arrow,.jjc-filter,.jjc-filter::after{transition:none!important}}
