/* Catalogue-only presentation; home sample cards deliberately keep their layout. */
html.wall-modal-open{overflow:hidden}
.works-wall .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wall-toolbar{font-size:16px}
.works-wall{--wall-header:88px;width:min(1840px,calc(100% - 48px));margin:0 auto;padding-bottom:36px}
.wall-heading{display:flex;gap:20px;align-items:baseline;padding:24px 0 18px}.wall-heading h1{font-size:30px;line-height:1.2;margin:0}.wall-heading p{color:var(--muted);font-size:16px;margin:0}
.wall-toolbar{display:flex;align-items:center;gap:10px;padding:10px 0;position:sticky;top:var(--wall-header);background:var(--paper,#f7f5f0);z-index:25;border-block:1px solid var(--line,#d8ddd4)}
.wall-toolbar select,.wall-toolbar input,.wall-toolbar button,.wall-pagination button,.wall-pagination select,.wall-dialog button{font:inherit;color:var(--ink);min-height:44px;border:1px solid #bdc7ba;border-radius:7px;background:#fffefa;padding:8px 12px}
.wall-toolbar select{width:100%;max-width:100%}.wall-search{flex:0 1 360px;min-width:160px}.wall-search input{width:100%;font-size:16px}.wall-filter{width:160px;flex-shrink:0}.wall-filter select{font-size:16px}
.wall-density{display:flex;gap:2px;flex-shrink:0;margin-left:auto}.wall-density button{border-radius:5px}.wall-density button[aria-pressed=true]{background:#50685e;color:#fff;border-color:#50685e}
.wall-results-bar{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 0}.wall-results-bar p{font-size:15px;color:var(--muted);margin:0}.wall-results-bar>.wall-pagination{margin-left:auto}.wall-results-bar>button{border:0;background:transparent;color:#77534b;font:inherit;font-size:14px;min-height:44px;cursor:pointer}
.wall-pagination{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px}.wall-pagination label{display:flex;gap:6px;align-items:center}.wall-pagination button{min-width:44px;cursor:pointer}.wall-pagination select{max-width:76px;padding:6px}.wall-pagination button:disabled{opacity:.35;cursor:default}
.wall-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px 10px}.wall-card{display:block;min-width:0;text-decoration:none;color:var(--ink)}.wall-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:1.7;background:#0e1010;border:1px solid #27342d;border-radius:3px;overflow:hidden}.wall-cover img{display:block;width:100%;height:100%;object-fit:contain;transition:none}.wall-name{display:block;font-size:13px;line-height:1.4;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-card:hover .wall-cover,.wall-card:focus-visible .wall-cover{outline:2px solid #997665;outline-offset:2px}.wall-card:focus-visible{outline:2px solid #50685e;outline-offset:4px}
.works-wall[data-density=large] .wall-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px}.works-wall[data-density=large] .wall-cover{aspect-ratio:1.4}.works-wall[data-density=large] .wall-name{font-size:16px}
.wall-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:15px}.wall-empty{padding:40px 0;text-align:center}.wall-empty button,#wall-retry{min-height:44px;padding:8px 16px;font:inherit}#wall-status:empty{display:none}.works-wall [hidden]{display:none!important}
.wall-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #c4cbbf;border-radius:12px;color:var(--ink);background:var(--paper);overflow:auto}.wall-dialog::backdrop{background:#101913d9}.wall-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:10px 18px}.wall-dialog-head p{font-size:14px;color:var(--muted);margin:0}.wall-dialog button{cursor:pointer}.wall-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#090b0a;min-height:180px;height:min(60dvh,620px)}.wall-stage img{width:100%;height:100%;object-fit:contain}.wall-stage button{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:44px;height:56px;font-size:32px;padding:0;background:#f7f5f0e8}.wall-stage button:disabled{opacity:.3}#wall-previous{left:8px}#wall-next{right:8px}.wall-dialog-info{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px}.wall-dialog-info h2{font-size:24px;margin:0}.wall-dialog-info p{font-size:14px;color:var(--muted);margin:6px 0 0}.wall-dialog-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:15px}.wall-dialog-actions a{min-height:44px;display:inline-flex;align-items:center}.wall-dialog-actions .button{padding:10px 16px}
@media(min-width:1600px){.wall-grid{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media(max-width:1180px){.wall-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.wall-filter{width:145px}.wall-toolbar{gap:6px}.wall-dialog-info{align-items:start;flex-direction:column}}
@media(max-width:900px){.works-wall{width:calc(100% - 32px)}.wall-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.wall-toolbar{flex-wrap:wrap}.wall-search{flex-basis:calc(100% - 125px)}.wall-density{order:1}.wall-filter{order:2;flex:1}.works-wall[data-density=large] .wall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.works-wall{width:calc(100% - 24px)}.wall-heading{padding:18px 0 12px;gap:12px}.wall-heading h1{font-size:24px}.wall-heading p{font-size:13px}.wall-toolbar{padding:8px 0;gap:6px}.wall-search input{font-size:16px;padding:8px}.wall-filter{width:auto;min-width:0}.wall-toolbar select,.wall-density button{padding:8px;font-size:14px}.wall-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 7px}.wall-cover{aspect-ratio:1.4}.wall-name{font-size:12px}.wall-results-bar{gap:6px;flex-wrap:wrap}.wall-results-bar p{font-size:13px}.wall-pagination{gap:4px;font-size:12px}.wall-pagination label{gap:3px}.wall-pagination button{padding:6px;min-width:40px}.wall-pagination select{max-width:60px}.works-wall[data-density=large] .wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.works-wall[data-density=large] .wall-name{font-size:14px}.wall-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:8px}.wall-dialog-head{padding:8px 10px}.wall-stage{height:43dvh}.wall-dialog-info{padding:14px;gap:12px}.wall-dialog-info h2{font-size:20px}.wall-dialog-actions{width:100%;gap:10px;flex-wrap:wrap;font-size:14px}.wall-dialog-actions .button{margin-left:auto}.wall-bottom{font-size:13px}}
.wall-topics{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 0}.wall-topics button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}.wall-topics button:hover{background:#e8ede5}.wall-topics button[aria-pressed=true]{background:#506b60;border-color:#506b60;color:#fff}.wall-topic-count{font-size:12px;opacity:.72}.wall-topics button:focus-visible{outline:3px solid #967375;outline-offset:3px}
@media(max-width:600px){.wall-topics{gap:6px}.wall-topics button{font-size:14px;padding:8px 12px}}
@media(max-width:900px){.wall-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.wall-search{grid-row:1;grid-column:1/3;min-width:0}.wall-density{grid-row:1;grid-column:3}.wall-filter{grid-row:2;width:100%;min-width:0}.wall-filter:has(#wall-size){grid-column:1}.wall-filter:has(#wall-purpose){grid-column:2/4}}
