@keyframes wpfmGalleryReveal{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes wpfmFadeUp{0%{opacity:0;transform:scale(.97) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.wpfm-gallery-wrap{position:relative}.wpfm-gallery-mosaic{display:grid;grid-template-columns:repeat(var(--wpfm-gallery-cols, 3),1fr);grid-auto-rows:var(--wpfm-gallery-row-h, 280px);gap:var(--wpfm-gallery-gap, 16px);grid-auto-flow:row dense}.wpfm-gallery-mosaic:not(.wpfm-gallery--ready) .wpfm-gallery-item[data-grid=auto]{opacity:0;transform:scale(.97)}.wpfm-gallery-item:not([data-grid=auto]),.wpfm-gallery-mosaic.wpfm-gallery--ready .wpfm-gallery-item[data-grid=auto]{opacity:1;transform:scale(1)}.wpfm-gallery-item{border-radius:var(--wpfm-gallery-radius, 8px);overflow:hidden;position:relative;transition:opacity .4s ease,transform .4s ease}.wpfm-gallery-item img,.wpfm-gallery-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.wpfm-gallery-item:hover img,.wpfm-gallery-item:hover video{transform:scale(1.04)}.wpfm-gallery-item--wide{grid-column:span 2}.wpfm-gallery-item--tall{grid-row:span 2}.wpfm-gallery-item--large{grid-column:span 2;grid-row:span 2}.wpfm-gallery-item--hidden{display:none}.wpfm-gallery-item--hidden.wpfm-gallery-item--revealed{display:block;animation:wpfmGalleryReveal .5s cubic-bezier(.4,0,.2,1) both}.wpfm-gallery-caption{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(0deg,rgba(0,0,0,.55)0,transparent 50%);opacity:0;transition:opacity .4s ease;pointer-events:none}.wpfm-gallery-item:hover .wpfm-gallery-caption,.wpfm-gallery-item:hover .wpfm-gallery-item__link{opacity:1}.wpfm-gallery-caption span{color:#fff;font-family:var(--wpfm-font-heading);font-size:var(--wpfm-gal-caption-size, 0.9375rem);font-weight:500;letter-spacing:.02em;text-shadow:0 1px 4px rgba(0,0,0,.3)}.wpfm-gallery-item__link{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;padding:16px 20px;background:linear-gradient(180deg,rgba(0,0,0,.5)0,transparent 60%);opacity:0;transition:opacity .35s ease;cursor:pointer;z-index:2}.wpfm-gallery-item__link span,.wpfm-gallery-modal__link{font-family:var(--wpfm-font-body);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.wpfm-gallery-item__link span{color:#fff;font-size:.8125rem;text-shadow:0 1px 4px rgba(0,0,0,.4);border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px;line-height:1.3}.wpfm-gallery-modal__link{color:rgba(255,255,255,.75);font-size:.75rem;text-decoration:none;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:4px 12px;display:none;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}.wpfm-gallery-modal__link:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08)}.wpfm-gallery-more{border-radius:var(--wpfm-gallery-radius, 8px);overflow:hidden;position:relative;cursor:pointer}.wpfm-gallery-more__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(2px) brightness(.45);transform:scale(1.08);transition:filter .4s ease,transform .6s ease}.wpfm-gallery-more:hover .wpfm-gallery-more__bg{filter:blur(1px) brightness(.35);transform:scale(1.12)}.wpfm-gallery-more__content,.wpfm-gallery-more__icon{display:flex;align-items:center;justify-content:center}.wpfm-gallery-more__content{position:relative;z-index:1;flex-direction:column;height:100%;gap:8px;padding:24px;text-align:center}.wpfm-gallery-more__icon{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);transition:background .3s,transform .3s}.wpfm-gallery-more:hover .wpfm-gallery-more__icon{background:rgba(255,255,255,.25);transform:scale(1.08)}.wpfm-gallery-more__icon svg{color:#fff;opacity:.9}.wpfm-gallery-more__label,.wpfm-gallery-more__sub{font-family:var(--wpfm-font-body);letter-spacing:.01em}.wpfm-gallery-more__label{color:#fff;font-size:1.125rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.4)}.wpfm-gallery-more__sub{color:rgba(255,255,255,.65);font-size:.8125rem;font-weight:400}.wpfm-gallery-modal{position:fixed;inset:0;z-index:999999;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s cubic-bezier(.4,0,.2,1),visibility .35s cubic-bezier(.4,0,.2,1)}.wpfm-gallery-modal--open{opacity:1;visibility:visible}.wpfm-gallery-modal__backdrop{position:absolute;inset:0;background:rgba(8,8,12,.95);backdrop-filter:blur(20px) saturate(.5);-webkit-backdrop-filter:blur(20px) saturate(.5)}.wpfm-gallery-modal__topbar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(180deg,rgba(0,0,0,.4)0,transparent 100%)}.wpfm-gallery-modal__count{color:rgba(255,255,255,.6);font-family:var(--wpfm-font-body);font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.05em}.wpfm-gallery-modal__close,.wpfm-gallery-modal__nav{border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.wpfm-gallery-modal__close{background:rgba(255,255,255,.08);padding:10px}.wpfm-gallery-modal__close:hover{color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.2)}.wpfm-gallery-modal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(255,255,255,.06);width:44px;height:44px}.wpfm-gallery-modal__nav:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2);transform:translateY(-50%) scale(1.05)}.wpfm-gallery-modal__nav--prev{left:16px}.wpfm-gallery-modal__nav--next{right:16px}.wpfm-gallery-modal__stage{position:relative;z-index:2;max-width:min(90vw,1200px);max-height:72vh;display:flex;align-items:center;justify-content:center;overflow:visible}.wpfm-gallery-modal__img{max-width:min(90vw,1200px);max-height:72vh;object-fit:contain;border-radius:6px;box-shadow:0 16px 64px rgba(0,0,0,.5),0 4px 16px rgba(0,0,0,.3);transform-origin:center center;will-change:transform,opacity;user-select:none;-webkit-user-select:none}.wpfm-gallery-modal__img--enter-left,.wpfm-gallery-modal__img--enter-right{animation:wpfmFadeUp .34s cubic-bezier(.22,1,.36,1) both}@media (max-width:768px){.wpfm-gallery-modal__stage{overflow:hidden}@keyframes wpfmSlideInRight{0%{opacity:.6;transform:translateX(56px)}to{opacity:1;transform:translateX(0)}}@keyframes wpfmSlideInLeft{0%{opacity:.6;transform:translateX(-56px)}to{opacity:1;transform:translateX(0)}}.wpfm-gallery-modal__img--enter-right{animation:wpfmSlideInRight .28s cubic-bezier(.25,.46,.45,.94) both}.wpfm-gallery-modal__img--enter-left{animation:wpfmSlideInLeft .28s cubic-bezier(.25,.46,.45,.94) both}}.wpfm-gallery-modal__video{max-width:min(90vw,1200px);max-height:72vh;object-fit:contain;border-radius:6px;box-shadow:0 16px 64px rgba(0,0,0,.5),0 4px 16px rgba(0,0,0,.3);cursor:pointer;outline:0}.wpfm-gallery-modal__mute,.wpfm-gallery-modal__thumb--video::after{position:absolute;display:flex;align-items:center;justify-content:center;color:#fff}.wpfm-gallery-modal__mute{bottom:12px;right:12px;z-index:6;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.6);cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}.wpfm-gallery-modal__mute:hover{background:rgba(0,0,0,.8)}.wpfm-gallery-modal__thumb--video::after{content:"▶";inset:0;font-size:14px}.wpfm-gallery-modal__thumb--video{position:relative}.wpfm-gallery-modal__bottom{position:absolute;bottom:0;left:0;right:0;z-index:5;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 24px 20px;background:linear-gradient(0deg,rgba(0,0,0,.5)0,transparent 100%)}.wpfm-gallery-modal__caption{color:rgba(255,255,255,.9);font-family:var(--wpfm-font-body);font-size:.9375rem;font-weight:500;letter-spacing:.01em;text-shadow:0 1px 4px rgba(0,0,0,.5);text-align:center;max-width:600px}.wpfm-gallery-modal__thumbstrip{display:flex;gap:6px;overflow-x:auto;max-width:min(90vw,600px);padding:4px 2px;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch}.wpfm-gallery-modal__thumbstrip::-webkit-scrollbar{display:none}.wpfm-gallery-modal__thumb{flex:0 0 44px;width:44px;height:44px;border-radius:6px;background-size:cover;background-position:center;border:2px solid transparent;cursor:pointer;opacity:.5;transition:all .2s ease;padding:0;outline:0}.wpfm-gallery-modal__thumb:hover{opacity:.8;border-color:rgba(255,255,255,.3)}.wpfm-gallery-modal__thumb--active{opacity:1;border-color:rgba(255,255,255,.8);box-shadow:0 0 0 1px rgba(255,255,255,.2)}@media (max-width:768px){.wpfm-gallery-mosaic{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:200px}.wpfm-gallery-item--large{grid-column:span 2;grid-row:span 1}.wpfm-gallery-modal__nav{width:38px;height:38px}.wpfm-gallery-modal__nav--prev{left:10px}.wpfm-gallery-modal__nav--next{right:10px}.wpfm-gallery-modal__thumb{flex:0 0 36px;width:36px;height:36px}}@media (max-width:480px){.wpfm-gallery-mosaic{grid-template-columns:1fr!important;grid-auto-rows:240px}.wpfm-gallery-item--large,.wpfm-gallery-item--wide{grid-column:span 1}.wpfm-gallery-modal__nav{display:none}.wpfm-gallery-modal__thumbstrip{max-width:92vw}}