/* Bottom matching collections only. Existing category/product styles are untouched. */
html body main .cm-matching{box-sizing:border-box;width:calc(100% - 40px);max-width:1380px;margin:40px auto 28px;padding:28px 0 0;border-top:1px solid #d9d1c2;color:#302e27;font-family:Arial,sans-serif;clear:both}
html body main .cm-matching h2{font:650 clamp(21px,2.1vw,29px)/1.25 Arial,sans-serif;margin:0 0 22px;color:inherit}
html body main .cm-matching h1{font:650 clamp(26px,3vw,38px)/1.2 Arial,sans-serif;margin:16px 0}
html body main .cm-matching-grid{display:grid;grid-template-columns:repeat(var(--cm-match-columns,2),minmax(0,1fr));gap:24px;align-items:stretch;margin:0;padding:0}
html body main .cm-matching .cm-match-card{display:flex!important;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2d9cc;border-radius:7px;text-decoration:none!important;color:#302e27!important;background:#fffefa!important;box-shadow:0 3px 9px #433d2a05;transition:box-shadow .18s ease,border-color .18s ease}
html body main .cm-matching .cm-match-card:hover{border-color:#a7956c;box-shadow:0 5px 15px #433d2a16}
html body main .cm-matching a:focus-visible{outline:3px solid #6d694b;outline-offset:4px}
html body main .cm-matching .cm-match-card>img{display:block!important;position:static!important;width:100%!important;height:auto!important;aspect-ratio:1024/600!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;max-width:none!important;transform:none!important}
html body main .cm-matching .cm-match-caption{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:1fr auto;gap:10px 12px;padding:16px 18px;flex:1;background:#fffefa;color:#302e27}
html body main .cm-matching .cm-match-label{font:650 18px/1.35 Arial,sans-serif;overflow-wrap:anywhere;align-self:center}
html body main .cm-matching .cm-match-arrow{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;align-self:center}
html body main .cm-matching .cm-match-price{grid-column:1/-1;font:400 15px/1.5 Arial,sans-serif;display:flex;flex-wrap:wrap;gap:0 5px;color:#494638}
html body main .cm-matching .cm-match-price strong{font-weight:650;white-space:nowrap}
html body main .cm-matching .cm-match-note{font:400 12px/1.6 Arial,sans-serif;color:#625d51;margin:14px 0 20px}
html body main .cm-matching .cm-match-note summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
html body main .cm-matching .cm-match-note p{max-width:980px;margin:8px 0;font:inherit}
html body main .cm-matching .cm-match-whole{margin:22px 0}
html body main .cm-matching .cm-match-whole a{display:inline-flex;align-items:center;gap:14px;font:600 16px/1.5 Arial,sans-serif;color:#4d4f37!important;text-decoration:underline;text-underline-offset:4px}
html body main .cm-matching .cm-match-parent-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:22px 0 0;padding:18px 0 0;border-top:1px solid #e2d9cc}
html body main .cm-matching .cm-match-parent-links a,html body main .cm-matching .cm-match-all-rooms a{display:inline-flex;align-items:center;gap:10px;color:#514d40!important;font:400 14px/1.5 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
html body main .cm-matching .cm-match-parent-links .cm-match-arrow{width:16px;height:16px}
html body main .cm-matching .cm-match-all-rooms{display:flex;flex-wrap:wrap;gap:16px 30px}
html body main .cm-matching .cm-match-intro{font:400 16px/1.7 Arial,sans-serif;max-width:1000px;margin:18px 0 28px}
html body main .cm-collection-overview{border-top:0;padding-top:10px}
html body main .cm-matching .cm-match-breadcrumb{font:400 13px/1.5 Arial,sans-serif;color:#625d51}
html body main .cm-matching .cm-match-breadcrumb a{color:inherit}
@media(max-width:900px){html body main .cm-matching-grid{gap:16px}html body main .cm-matching .cm-match-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){html body main .cm-matching{width:calc(100% - 28px);margin:28px auto 20px;padding-top:22px}html body main .cm-matching-grid{gap:12px}html body main .cm-matching .cm-match-count-3{grid-template-columns:1fr}html body main .cm-matching .cm-match-caption{padding:12px 10px;grid-template-columns:minmax(0,1fr) 16px;gap:8px}html body main .cm-matching .cm-match-label{font-size:14px;line-height:1.4}html body main .cm-matching .cm-match-arrow{width:16px;height:16px}html body main .cm-matching .cm-match-price{font-size:13px}html body main .cm-matching .cm-match-whole a{font-size:15px}html body main .cm-matching .cm-match-parent-links{gap:12px 20px}html body main .cm-matching .cm-match-parent-links a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html body main .cm-matching .cm-match-card{transition:none}}

/* Image framing only within bottom matching cards; source pictures stay intact. */
html body main .cm-matching .cm-match-photo{display:block!important;position:relative!important;width:100%!important;overflow:hidden!important;flex:none;margin:0!important;padding:0!important}
html body main .cm-matching .cm-match-photo>img{display:block!important;position:absolute!important;width:var(--cm-photo-w)!important;height:var(--cm-photo-h)!important;left:var(--cm-photo-left)!important;top:var(--cm-photo-top)!important;object-fit:fill!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;transform:none!important}

/* Wait for the existing product layout before native lazy-loading evaluates bottom images. No-JS content stays visible. */
html.cm-match-pending body main #cm-matching{display:none!important}

/* Uniform current category photographs, matching sections only. */
html body main .cm-matching .cm-match-description{grid-column:1/-1;font:400 12px/1.5 Arial,sans-serif;color:#625d51}
html body main .cm-matching .cm-match-card>img{aspect-ratio:1024/600!important;width:100%!important;height:auto!important;object-fit:cover!important;display:block!important}
.cm-context-photo-caption{font:400 14px/1.5 Arial,sans-serif;color:#494638;margin:8px 0 14px;padding:8px 12px;background:#fffefa}
.cm-photo-pieces{font:400 12px/1.5 Arial,sans-serif;color:#625d51;padding:0 10px 10px}
html body main .cm-matching .cm-match-count-1{max-width:660px}

.cm-room-entry{max-width:1180px;width:calc(100% - 28px);margin:24px auto}.cm-room-entry>img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain}.cm-room-entry .cm-context-photo-caption{margin:0}
