/* WordPress integration; approved design tokens and component styles remain authoritative. */
body.admin-bar .site-header { top: 32px; }
main [data-artwork-masonry] .gauger-cropped { position:relative; aspect-ratio:var(--crop-ratio); overflow:hidden; }
main [data-artwork-masonry] .gauger-cropped > img { position:absolute; width:var(--crop-width); max-width:none; height:auto; left:var(--crop-left); top:var(--crop-top); }
.gauger-artists-grid,.gauger-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.gauger-artists-grid a { color:inherit; text-decoration:none; }
.gauger-artists-grid img { width:100%; height:25rem; object-fit:cover; }
.gauger-photo-grid img { width:100%; height:auto; }
.gauger-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin-bottom:2rem; }
.gauger-filters label { flex:1 1 130px; font-size:.7rem; text-transform:uppercase; }
.gauger-filters select { display:block; max-width:100%; width:100%; border:0; border-bottom:1px solid var(--color-line); padding:.75rem 0; background:transparent; color:inherit; font:inherit; }
.gauger-pagination { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:center; align-items:center; margin-top:2rem; }
.gauger-pagination a[aria-disabled=true] { opacity:.5; cursor:wait; }
.gauger-photo-dialog { width:min(95vw,1400px); max-width:95vw; max-height:95svh; padding:0; border:0; background:transparent; overflow:visible; }
.gauger-photo-dialog img { display:block; width:100%; height:auto; max-height:88svh; object-fit:contain; }
.gauger-photo-dialog::backdrop { background:rgba(0,0,0,.9); }
.gauger-photo-dialog button { position:absolute; right:0; top:0; z-index:2; border:0; background:none; color:white; width:44px; height:44px; font-size:2rem; }
.wpcf7 { max-width:52rem; }
.wpcf7 label { display:block; margin-bottom:1.25rem; }
.wpcf7 input:not([type=checkbox]):not([type=submit]),.wpcf7 textarea { display:block; width:100%; border:0; border-bottom:1px solid currentColor; color:inherit; background:transparent; padding:.75rem 0; }
.wpcf7 textarea { min-height:9rem; }
.wpcf7 input[type=submit] { padding:1rem 1.5rem; border:1px solid currentColor; background:var(--color-ink); color:var(--color-white); }
.section--dark .wpcf7 input[type=submit] { background:var(--color-bg); color:var(--color-ink); }
.wpcf7-not-valid-tip { font-size:.85rem; }.wpcf7-response-output { margin:1rem 0!important; padding:1rem!important; }
.wpcf7 form.submitting input[type=submit] { opacity:.5; }
.site-nav .sub-menu { list-style:none; padding:.75rem; background:var(--color-bg); }
@media(min-width:992px){.site-nav li{position:relative}.site-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:12rem}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:767px){.gauger-artists-grid,.gauger-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gauger-artists-grid img{height:18rem}}
@media(max-width:479px){.gauger-artists-grid,.gauger-photo-grid{grid-template-columns:1fr}}
.editor-styles-wrapper [data-reveal] { opacity:1!important; transform:none!important; }
.editor-styles-wrapper .acf-block-preview { overflow:hidden; }
.no-js [data-reveal] { opacity:1; transform:none; }
@media(max-width:991px){.no-js .site-header{position:static;height:auto}.no-js .site-header__inner{flex-wrap:wrap}.no-js .menu-toggle{display:none}.no-js .site-nav{display:block;position:static;width:100%;height:auto;padding:1rem 0;opacity:1;visibility:visible;transform:none}.no-js .site-nav__list{display:flex;flex-wrap:wrap;gap:1rem}}
html:not(.no-js) .gauger-filters button[type=submit] { display:none; }

.post-type-archive .gauger-catalog:has(.gauger-filter-band) { padding-top:0; }
.gauger-filter-band { background:var(--color-panel, #e9e5db); box-shadow:0 0 0 100vmax var(--color-panel, #e9e5db); clip-path:inset(0 -100vmax); padding:1.35rem 0; margin-bottom:var(--section-space, 5rem); }
.gauger-filter-band .gauger-filters { margin-bottom:0; }
.gauger-filters label { font-size:.58rem; font-weight:600; letter-spacing:.035em; color:var(--color-muted); }
.gauger-filters select { margin-top:.25rem; color:var(--color-ink); font-size:.75rem; font-weight:400; letter-spacing:normal; text-transform:none; }
.gauger-filters .text-link { margin-bottom:.7rem; font-size:.6rem; }
