/* Compact exhibition directory; shared by net-print and museum. */
.exhibition-directory { max-width:1320px; margin:var(--header-height) auto 0; padding:56px var(--studio-gutter) 88px; min-height:calc(100svh - var(--header-height) - 240px); }
.exhibition-heading { display:flex; align-items:baseline; gap:22px; margin-bottom:32px; }
.exhibition-heading h1 { margin:0; font-size:26px; font-weight:500; letter-spacing:.1em; line-height:1.5; }
.exhibition-heading p { margin:0; color:var(--ink-dim); font-family:var(--font-ui); font-size:10px; letter-spacing:.18em; }
.exhibition-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px 26px; padding-bottom:12px; margin-bottom:28px; border-bottom:1px solid var(--ink-line); font-family:var(--font-ui); }
.exhibition-tabs { display:flex; align-items:center; gap:18px; }
.exhibition-tabs + .exhibition-tabs { padding-left:26px; border-left:1px solid var(--ink-line); }
.exhibition-tabs button,.exhibition-empty button { appearance:none; border:0; border-radius:0; background:none; color:var(--ink-dim); padding:10px 0; font:inherit; font-size:12px; line-height:1.5; cursor:pointer; letter-spacing:.02em; }
.exhibition-tabs button { position:relative; white-space:nowrap; }
.exhibition-tabs button[aria-pressed="true"] { color:var(--aka); }
.exhibition-tabs button[aria-pressed="true"]::after { content:""; position:absolute; left:0; right:0; bottom:3px; height:1px; background:currentColor; }
.exhibition-selects { display:flex; gap:18px; margin-left:auto; max-width:100%; }
.exhibition-selects label { display:flex; align-items:center; gap:8px; color:var(--ink-dim); font-size:12px; min-width:0; }
.exhibition-selects label > span { white-space:nowrap; }
.exhibition-selects select { width:auto; max-width:170px; min-width:65px; border:0; border-radius:0; padding:10px 16px 10px 4px; color:var(--ink); background-color:var(--washi); font:inherit; cursor:pointer; }
.exhibition-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 24px; }
.exhibition-tile { min-width:0; }
.exhibition-entry { display:block; color:var(--ink); text-decoration:none; }
.exhibition-entry figure { margin:0 0 14px; position:relative; overflow:hidden; background:var(--paper); }
.exhibition-entry img { display:block; width:100%; height:auto; aspect-ratio:1.7; object-fit:cover; transition:opacity .2s; }
.exhibition-entry:hover img { opacity:.85; }
.exhibition-entry figcaption { position:absolute; bottom:0; right:0; padding:3px 6px; background:#10100fcc; color:#eee9dd; font-size:9px; line-height:1.5; letter-spacing:.02em; }
.exhibition-meta { display:flex; flex-wrap:wrap; gap:6px 12px; margin-bottom:7px; font-family:var(--font-ui); font-size:11px; line-height:1.5; color:var(--ink-dim); }
.exhibition-meta span:last-child { color:var(--aka); }
.exhibition-entry h2 { margin:0 0 7px; font-size:17px; font-weight:500; line-height:1.6; letter-spacing:.035em; overflow-wrap:anywhere; }
.exhibition-entry:hover h2,.exhibition-artist a:hover { color:var(--aka); }
.exhibition-tile p { margin:3px 0 0; color:var(--ink-dim); font-family:var(--font-ui); font-size:12px; line-height:1.7; letter-spacing:.01em; overflow-wrap:anywhere; }
.exhibition-artist a { color:inherit; text-underline-offset:4px; }
.exhibition-tile .exhibition-period { margin-top:9px; font-size:11px; }
.exhibition-empty { padding:48px 0; color:var(--ink-dim); font-size:13px; }
.exhibition-empty p { margin:0 0 10px; }
.exhibition-empty button { color:var(--aka); text-decoration:underline; text-underline-offset:5px; }
.exhibition-directory [hidden] { display:none !important; }
.exhibition-directory :is(a,button,select):focus-visible { outline:2px solid var(--aka); outline-offset:4px; }
@media (max-width:1000px) { .exhibition-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .exhibition-selects { margin-left:0; } }
@media (max-width:720px) {
  .exhibition-directory { padding-top:32px; padding-bottom:56px; }
  .exhibition-heading { gap:16px; margin-bottom:20px; }
  .exhibition-heading h1 { font-size:22px; }
  .exhibition-filters { align-items:flex-start; gap:4px 20px; margin-bottom:24px; }
  .exhibition-tabs + .exhibition-tabs { border:0; padding-left:0; }
  .exhibition-tabs { gap:16px; }
  .exhibition-selects { width:100%; }
  .exhibition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
  .exhibition-entry h2 { font-size:15px; }
  .exhibition-entry figcaption { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) { .exhibition-entry img { transition:none; } }
