.gallery-main{max-width:1340px;width:92%;min-height:60vh;margin:0 auto;padding:32px 0 70px}.gallery-intro{text-align:center;padding:22px 10px 35px}.gallery-intro h1{font-weight:500;font-size:clamp(45px,6vw,76px);color:var(--teal);margin:8px 0}.gallery-intro .ornament{max-width:350px;margin:0 auto}.gallery-intro>p:last-child{font-size:24px;color:#6a625b;margin:14px 0 0}.collection-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-collection{border:1px solid var(--line);background:#fffaf2;display:block;overflow:hidden;transition:transform .2s,box-shadow .2s}.gallery-collection:hover{transform:translateY(-4px);box-shadow:0 12px 24px #2222}.gallery-collection img,.collection-no-image{width:100%;height:265px;object-fit:cover}.collection-no-image{display:flex;align-items:center;justify-content:center;color:var(--copper);font-size:90px;background:#eee8dc}.gallery-collection>span{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;font-size:28px}.gallery-collection b{font-weight:400;color:var(--copper)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 0 22px;color:#786c62}.gallery-toolbar a{color:var(--copper);text-decoration:underline;text-underline-offset:4px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo-tile{appearance:none;background:#fffaf2;border:1px solid var(--line);padding:0;cursor:pointer;text-align:left;color:var(--teal);overflow:hidden}.photo-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .2s}.photo-tile:hover img{transform:scale(1.035)}.tile-label{display:block;padding:12px 15px;font-size:21px}.photo-tile:focus-visible,.gallery-collection:focus-visible{outline:3px solid var(--copper);outline-offset:2px}.gallery-empty{padding:65px 25px;border:1px solid var(--line);background:#fffaf2;text-align:center;font-size:24px}.gallery-empty a{color:var(--copper);text-decoration:underline}.bb-lightbox[hidden]{display:none}.bb-lightbox{position:fixed;z-index:9999;inset:0;background:rgba(14,23,24,.96);display:flex;justify-content:center;align-items:center;padding:50px 80px;color:#fff}.lb-open{overflow:hidden}.bb-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%;margin:0}.lb-image{max-width:min(1100px,100%);max-height:75vh;object-fit:contain}.bb-lightbox figcaption{text-align:center;padding:12px;display:flex;flex-direction:column;gap:4px}.lb-title{font-size:26px;font-weight:500}.lb-description{font-size:18px}.lb-count{font:13px Georgia,serif;color:#d9d0c8}.bb-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;cursor:pointer;border-radius:50%;width:43px;height:43px;font-size:32px}.bb-lightbox button:focus-visible{outline:3px solid #e1b38f}.lb-close{top:18px;right:22px}.lb-prev{left:20px;top:50%}.lb-next{right:20px;top:50%}@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(3,1fr)}.collection-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.gallery-main{width:94%;padding-top:8px}.photo-grid,.collection-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-collection img,.collection-no-image{height:170px}.gallery-collection>span{padding:10px;font-size:21px}.photo-tile .tile-label{padding:8px;font-size:17px}.bb-lightbox{padding:65px 15px}.lb-prev{left:9px;top:auto;bottom:13px}.lb-next{right:9px;top:auto;bottom:13px}.lb-image{max-height:70vh}}@media(max-width:380px){.collection-gallery-grid{grid-template-columns:1fr}}

/* BB photo viewer v2 - appended to the existing gallery.css */
.bb-lightbox{overflow:hidden;padding:52px 75px 24px}
.bb-lightbox figure{width:min(1200px,100%);height:100%;min-height:0;gap:4px}
.bb-lightbox .lb-image{display:block;max-width:100%;width:auto;max-height:min(68vh,calc(100dvh - 235px));height:auto;object-fit:contain;transition:opacity .15s ease}
.bb-lightbox .lb-image.bb-loading{opacity:.65}
.bb-lightbox figcaption{flex:0 0 auto;max-height:90px;overflow-y:auto;padding:7px 8px;gap:3px}
.bb-lb-thumbnails{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;width:100%;max-width:700px;min-height:66px;overflow-x:auto;overscroll-behavior-x:contain;padding:5px 1px 8px;scrollbar-width:thin}
.bb-lightbox .bb-lb-thumb{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:54px;height:54px;min-width:54px;border-radius:5px;padding:2px;background:#342f2b;border:2px solid transparent;overflow:hidden;flex:0 0 auto;font-size:initial}
.bb-lightbox .bb-lb-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
.bb-lightbox .bb-lb-thumb.is-current{border-color:#e8bd96}
.bb-lightbox .bb-lb-thumb:focus-visible{outline:3px solid #fff;outline-offset:2px}
.bb-lightbox .lb-prev,.bb-lightbox .lb-next{z-index:1}
.bb-lightbox figure{touch-action:pan-y}
@media(max-width:650px){
 .bb-lightbox{padding:52px 8px 13px}
 .bb-lightbox figure{justify-content:center;gap:3px}
 .bb-lightbox .lb-image{max-height:min(62vh,calc(100dvh - 230px))}
 .bb-lightbox figcaption{padding:5px;max-height:75px}
 .bb-lb-thumbnails{max-width:100%;justify-content:flex-start;min-height:62px;gap:6px}
 .bb-lightbox .bb-lb-thumb{width:48px;height:48px;min-width:48px}
 .bb-lightbox .lb-prev,.bb-lightbox .lb-next{bottom:75px;top:auto}
}
@media(prefers-reduced-motion:reduce){.bb-lightbox .lb-image{transition:none}}
