/* Gallery presentation is confined to the published-directory main content. */
main.pc-directory-gallery{max-width:1200px;margin:0 auto;padding:55px 24px 72px}
.pc-directory-gallery h1{font-weight:500;font-size:clamp(34px,4.3vw,54px);line-height:1.14;margin:12px 0 16px}
.pc-directory-gallery>.lead{max-width:780px;color:#65726b;line-height:1.7;margin:0 0 30px}
.pc-directory-gallery .eyebrow{font-size:11px;letter-spacing:2.3px;color:#bb7144}
.pc-directory-gallery .filters{gap:11px;margin:24px 0 16px;grid-template-columns:1.8fr 1.15fr 1.15fr 1fr}
.pc-directory-gallery .filters input,.pc-directory-gallery .filters select{width:100%;min-height:46px;border:1px solid #d8dcd5;border-radius:7px;padding:12px 13px;background:#fff;color:#172d25;font-size:14px}
.pc-directory-gallery .filter-actions{margin:0 0 26px;gap:10px}
.pc-directory-gallery .filter-actions .button{font:600 13px 'DM Sans',Arial,sans-serif;min-height:44px;border-radius:7px;padding:11px 15px}
.pc-directory-gallery #status{font-size:14px;color:#596b60;line-height:1.6;margin:0 0 20px}
.pc-directory-gallery #hours-notice:empty{display:none}
.pc-directory-gallery .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:23px}
.pc-directory-gallery .card{min-width:0;background:#fff;border:1px solid #e7e5dc;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 16px #172d2508;transition:transform .15s,box-shadow .15s;scroll-margin-top:110px}
.pc-directory-gallery .card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #172d2515}
.pc-directory-gallery .photo{padding:0;width:100%;height:auto;aspect-ratio:3/2;background:#eceee8;overflow:hidden;flex:none}
.pc-directory-gallery .photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.pc-directory-gallery .photo.photo--wide img{object-fit:contain}
.pc-directory-gallery .photo.photo--missing{font:14px 'DM Sans',Arial,sans-serif;color:#647269}
.pc-directory-gallery .inner{padding:22px 20px 20px;display:flex;flex-direction:column;flex:1;min-width:0;overflow-wrap:anywhere}
.pc-directory-gallery .tag{color:#bb7144;font-size:10px;letter-spacing:1.4px;font-weight:700;margin-bottom:9px}
.pc-directory-gallery .inner h2{font-weight:500;font-size:24px;line-height:1.2;color:#203c30;margin:0 0 12px}
.pc-directory-gallery .inner p{font-size:14px;line-height:1.65;margin:0 0 16px;color:#59675d}
.pc-directory-gallery .inner .card-location{font-size:13px;color:#65766b;margin-bottom:6px}
.pc-directory-gallery .inner .card-address{font-size:12px;color:#728076;margin-bottom:16px}
.pc-directory-gallery .card-actions{margin-top:auto;display:flex;gap:9px;flex-wrap:wrap;padding-top:10px}
.pc-directory-gallery .card-actions .button{font-size:12px;font-weight:600;text-align:center;min-height:44px;padding:12px 13px;border-radius:7px;background:#f8f5ef;color:#203c30;border:1px solid #d9ded5;flex:1 1 auto}
.pc-directory-gallery .card-actions .card-link{background:#203c30;color:#fff;border-color:#203c30;flex-basis:100%}
.pc-directory-gallery .card-actions .button:hover{border-color:#203c30;background:#e9eee8}
.pc-directory-gallery .card-actions .card-link:hover{background:#2e5945;color:#fff}
.pc-directory-gallery .extra-photos{order:1;margin-top:18px;border-top:1px solid #ecece4;padding-top:13px;color:#566b5d;font-size:13px}
.pc-directory-gallery .extra-photos summary{cursor:pointer;min-height:32px;line-height:1.6}
.pc-directory-gallery .extra-photos[open] summary{margin-bottom:10px}
.pc-directory-gallery .map-wrap{margin-top:48px;border-top:1px solid #dedfd5;padding-top:26px}
.pc-directory-gallery .map-wrap h2{font-weight:500;font-size:27px;color:#203c30;margin:0 0 18px}
.pc-directory-gallery .empty{grid-column:1/-1;background:#fff;border:1px solid #dedfd5;padding:30px;color:#566b5d;line-height:1.6}
@media(max-width:1050px){.pc-directory-gallery .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-directory-gallery .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){main.pc-directory-gallery{padding:35px 18px 56px}.pc-directory-gallery .cards,.pc-directory-gallery .filters{grid-template-columns:minmax(0,1fr)}.pc-directory-gallery .cards{gap:20px}.pc-directory-gallery .inner{padding:21px 19px}.pc-directory-gallery .filter-actions .button{flex:1 1 auto}.pc-directory-gallery #share-note{flex-basis:100%}.pc-directory-gallery .map-wrap{margin-top:38px}}
@media(prefers-reduced-motion:reduce){.pc-directory-gallery .card{transition:none}.pc-directory-gallery .card:hover{transform:none}}
