/* Shared component tokens. Public scope keeps admin styling independent. */
:root{--pa-space:12px;--pa-radius:12px;--pa-ink:#19354c;--pa-accent:#0e759b;--pa-border:#dce5ed}
.portal-body .pa-discovery{padding:20px;margin:12px 0 16px;background:#fff;border:1px solid var(--pa-border);border-radius:var(--pa-radius);box-shadow:0 4px 16px #17314a08}
.portal-body .pa-discovery h1{font-size:22px!important;line-height:1.3;margin:0 0 6px;color:var(--pa-ink)}
.portal-body .pa-discovery p{font-size:14px!important;margin:0 0 16px;color:#53677a}
.pa-discovery form{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}
.pa-discovery label{display:block;font-size:13px;min-width:0;color:#31485b;font-weight:600}
.pa-discovery input,.pa-discovery select{display:block;width:100%;min-width:0;min-height:44px;font-size:16px!important;border:1px solid #cbd8e4;border-radius:8px;background:#fff;padding:8px;margin-top:5px;box-sizing:border-box}
.pa-discovery button{min-height:44px;padding:10px 18px;background:var(--pa-accent);color:#fff;border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.pa-discovery :focus-visible{outline:3px solid #efb742;outline-offset:2px}
.portal-body .real-empty-grid{min-height:0!important;padding:18px!important;height:auto!important}
.portal-body .real-empty-message{font-size:14px!important;line-height:1.5!important;margin:0!important;padding:12px!important}
@media(max-width:1100px){.pa-discovery form{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-discovery button{grid-column:1/-1}}
@media(max-width:600px){.portal-body .pa-discovery{padding:14px}.portal-body .pa-discovery h1{font-size:20px!important}.pa-discovery form{grid-template-columns:minmax(0,1fr)}.pa-discovery button{grid-column:auto}}

/* Compact homepage search: filters expand in place without overlays. */
.portal-body .pa-discovery-compact{padding:10px 12px;margin:8px 0 12px}
.pa-discovery-compact form{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.pa-discovery-compact .pa-search-row{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.pa-discovery-compact .pa-search-keyword{flex:1;min-width:0}
.pa-discovery-compact input{margin-top:0;height:44px}
.pa-discovery-compact button{flex:none;white-space:nowrap;grid-column:auto}
.pa-search-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pa-search-filters{flex:none}
.pa-search-filters summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #cbd8e4;border-radius:8px;font-size:14px;font-weight:600;color:#31485b;cursor:pointer;list-style:none}
.pa-search-filters summary::-webkit-details-marker{display:none}
.pa-search-filters[open]{width:100%}
.pa-search-filters[open] summary{width:max-content;margin-bottom:10px}
.pa-search-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}
@media(max-width:600px){
 .portal-body .pa-discovery-compact{padding:8px}
 .pa-discovery-compact form{gap:6px}
 .pa-discovery-compact .pa-search-row{gap:6px}
 .pa-discovery-compact button{padding:10px 12px}
 .pa-search-filters summary{padding:8px 10px}
 .pa-search-filter-fields{grid-template-columns:minmax(0,1fr)}
 .pa-search-filter-fields button{width:100%}
}

/* Actual artwork banners, with legible mobile layouts. */
.portal-body .pa-gif-banners{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:0!important}
.portal-body .pa-gif-banners .pa-gif-banner{display:block!important;padding:0!important;height:auto!important;min-height:0!important;aspect-ratio:11/3;width:100%!important;grid-column:auto!important;overflow:hidden;border-radius:5px!important;background:#eef3f7}
.pa-gif-banner:before,.pa-gif-banner:after{display:none!important}
.pa-gif-banner picture,.pa-gif-banner img{display:block;width:100%;height:100%;object-fit:contain}
.pa-gif-banner:focus-visible{outline:3px solid #efb742;outline-offset:3px}
@media(max-width:720px){.portal-body .pa-gif-banners{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}}
