.wbcom-essential-portfolio-grid{--portfolio-item-bg:#fff;--portfolio-title-color:#fff;--portfolio-filter-active:#3182ce;--portfolio-empty-bg:#f8f9fa;--portfolio-border-color:#e2e8f0;--portfolio-list-title:#1a202c;--portfolio-overlay-valign:flex-end;--portfolio-content-padding:24px 24px 24px 24px;--portfolio-overlay:rgba(0,0,0,.7);--portfolio-desc-size:14px;--portfolio-list-desc:#4a5568;--portfolio-aspect-ratio:75%;--portfolio-columns-mobile:1;--portfolio-columns-tablet:2;--portfolio-filter-active-bg:transparent;--portfolio-desc-color:hsla(0,0%,100%,.9);--portfolio-box-shadow:0 2px 8px rgba(0,0,0,.08);--portfolio-title-size:18px;--portfolio-text-align:left;--portfolio-filter-text:#4a5568;--portfolio-layout-btn-active-bg:#fff;--portfolio-image-radius:0px;--portfolio-border-width:0px;--portfolio-layout-btn-bg:#f7f7f7;--portfolio-desc-clamp:2;--portfolio-title-margin:0px 0px 8px 0px;--portfolio-overlay-hover:rgba(0,0,0,.85);--portfolio-box-shadow-hover:0 8px 24px rgba(0,0,0,.12);--portfolio-empty-text:#6c757d;--portfolio-gap:30px;--portfolio-columns:3;--portfolio-item-radius:8px;--portfolio-content-radius:0px;--portfolio-title-weight:600;--portfolio-filter-bg:rgba(0,0,0,.05);--portfolio-filter-padding:8px 20px 8px 20px;--portfolio-content-margin:0px 0px 0px 0px;--portfolio-content-bg:transparent}.wbcom-essential-portfolio-grid.use-theme-colors{--portfolio-item-bg:var(--wbcom-card-bg,var(--wbcom-color-base,#fff));--portfolio-title-color:var(--wbcom-button-text,#fff);--portfolio-filter-active:var(--wbcom-color-primary,#3182ce);--portfolio-empty-bg:var(--wbcom-card-bg-alt,var(--wbcom-color-base-2,#f8f9fa));--portfolio-border-color:var(--wbcom-card-border,var(--wbcom-color-border,#e2e8f0));--portfolio-list-title:var(--wbcom-heading-color,var(--wbcom-color-contrast,#1a202c));--portfolio-overlay:rgba(0,0,0,.7);--portfolio-list-desc:var(--wbcom-text-color,var(--wbcom-color-contrast-2,#4a5568));--portfolio-filter-active-bg:transparent;--portfolio-desc-color:hsla(0,0%,100%,.9);--portfolio-filter-text:var(--wbcom-text-color,var(--wbcom-color-contrast-2,#4a5568));--portfolio-layout-btn-active-bg:var(--wbcom-card-bg,var(--wbcom-color-base,#fff));--portfolio-layout-btn-bg:var(--wbcom-card-bg-alt,var(--wbcom-color-base-2,#f7f7f7));--portfolio-overlay-hover:rgba(0,0,0,.85);--portfolio-empty-text:var(--wbcom-meta-color,var(--wbcom-color-contrast-2,#6c757d));--portfolio-filter-bg:rgba(0,0,0,.05);--portfolio-content-bg:transparent}.wbcom-portfolio-controls{justify-content:space-between;flex-wrap:wrap;margin-bottom:30px;gap:16px;align-items:center;display:flex}.wbcom-portfolio-filters{flex-wrap:wrap;gap:8px;display:flex}.wbcom-portfolio-filter{padding:var(--portfolio-filter-padding);font-size:14px;border:none;font-weight:500;color:var(--portfolio-filter-text);transition:all .3s ease;position:relative;border-radius:var(--portfolio-filter-radius,4px);background:var(--portfolio-filter-bg);cursor:pointer}.wbcom-portfolio-filter:after{height:2px;transform:translateX(-50%);transition:all .3s ease;content:"";position:absolute;bottom:0;background:var(--portfolio-filter-active);left:50%;width:0}.wbcom-portfolio-filter.is-active,.wbcom-portfolio-filter:hover{border:none;color:var(--portfolio-filter-active);background:var(--portfolio-filter-active-bg,transparent)}.wbcom-portfolio-filter.is-active:after{width:100%}.wbcom-portfolio-layout-switch{padding:4px;gap:4px;border-radius:6px;background:var(--portfolio-layout-btn-bg);display:flex}.wbcom-layout-btn{height:36px;padding:0;justify-content:center;border:none;color:var(--portfolio-filter-text);transition:all .2s ease;align-items:center;border-radius:4px;background:transparent;cursor:pointer;width:36px;display:flex}.wbcom-layout-btn:hover{border:none;color:var(--portfolio-filter-active);background:transparent}.wbcom-layout-btn.is-active{color:var(--portfolio-filter-active);box-shadow:0 1px 3px rgba(0,0,0,.1);background:var(--portfolio-layout-btn-active-bg)}.wbcom-layout-btn svg{height:18px;width:18px}.wbcom-portfolio-items{gap:var(--portfolio-gap);display:grid}.wbcom-portfolio-items.layout-grid{grid-template-columns:repeat(var(--portfolio-columns),1fr)}.wbcom-portfolio-items.layout-list{grid-template-columns:1fr}.wbcom-portfolio-items.masonry-layout{grid-auto-rows:minmax(200px,auto)}.wbcom-portfolio-item{transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;opacity:0}.wbcom-portfolio-item.is-visible{transform:translateY(0);opacity:1}.wbcom-portfolio-item.is-hidden{display:none}.wbcom-portfolio-item.is-filtering{transition:none}.wbcom-portfolio-item-inner{height:100%;overflow:hidden;border:var(--portfolio-border-width) solid var(--portfolio-border-color);transition:transform .3s ease,box-shadow .3s ease;position:relative;box-shadow:var(--portfolio-box-shadow);border-radius:var(--portfolio-item-radius);background:var(--portfolio-item-bg)}.wbcom-portfolio-item-inner:hover{box-shadow:var(--portfolio-box-shadow-hover)}.wbcom-portfolio-image{overflow:hidden;padding-top:var(--portfolio-aspect-ratio);position:relative;border-radius:var(--portfolio-image-radius)}.wbcom-portfolio-image img{height:100%;transition:transform .5s ease,opacity .3s ease;position:absolute;-o-object-fit:cover;object-fit:cover;top:0;left:0;width:100%}.wbcom-portfolio-image.wbcom-portfolio-placeholder{justify-content:center;align-items:center;background:var(--portfolio-layout-btn-bg);display:flex}.wbcom-portfolio-image.wbcom-portfolio-placeholder svg{transform:translate(-50%,-50%);color:#ccc;position:absolute;top:50%;left:50%}.wbcom-portfolio-lightbox-btn{height:48px;transform:translate(-50%,-50%) scale(.8);padding:0;justify-content:center;border:none;color:var(--portfolio-filter-active);transition:all .3s ease;position:absolute;opacity:0;top:50%;align-items:center;border-radius:50%;background:hsla(0,0%,100%,.95);cursor:pointer;left:50%;width:48px;display:flex;z-index:10}.wbcom-portfolio-lightbox-btn svg{height:20px;width:20px}.wbcom-portfolio-lightbox-btn:hover{transform:translate(-50%,-50%) scale(1.1);color:var(--portfolio-filter-active);background:#fff}.has-lightbox .wbcom-portfolio-item-inner:hover .wbcom-portfolio-lightbox-btn{transform:translate(-50%,-50%) scale(1);opacity:1}.wbcom-portfolio-overlay{padding:var(--portfolio-content-padding);justify-content:flex-start;right:0;transition:opacity .3s ease,background .3s ease;position:absolute;opacity:0;bottom:0;text-align:var(--portfolio-text-align);top:0;margin:var(--portfolio-content-margin);align-items:var(--portfolio-overlay-valign);background:var(--portfolio-overlay);left:0;display:flex}.wbcom-portfolio-content{transform:translateY(20px);transition:transform .3s ease;border-radius:var(--portfolio-content-radius);background:var(--portfolio-content-bg);width:100%}.wbcom-portfolio-title{font-size:var(--portfolio-title-size);font-weight:var(--portfolio-title-weight);color:var(--portfolio-title-color);margin:var(--portfolio-title-margin);line-height:1.3}.wbcom-portfolio-title a{text-decoration:none;color:inherit}.wbcom-portfolio-title a:hover{text-decoration:underline}.wbcom-portfolio-description{overflow:hidden;font-size:var(--portfolio-desc-size);color:var(--portfolio-desc-color);margin:0 0 16px;-webkit-box-orient:vertical;line-height:1.5;-webkit-line-clamp:var(--portfolio-desc-clamp);display:-webkit-box}.wbcom-portfolio-link{height:40px;justify-content:center;text-decoration:none;color:var(--portfolio-overlay);transition:transform .2s ease;align-items:center;border-radius:50%;background:var(--portfolio-title-color);width:40px;display:inline-flex}.wbcom-portfolio-link:hover{transform:scale(1.1)}.wbcom-portfolio-link svg{height:18px;width:18px}.hover-effect-zoom .wbcom-portfolio-item-inner:hover .wbcom-portfolio-image img{transform:scale(1.1)}.hover-effect-zoom .wbcom-portfolio-item-inner:hover .wbcom-portfolio-overlay{opacity:1}.hover-effect-zoom .wbcom-portfolio-item-inner:hover .wbcom-portfolio-content{transform:translateY(0)}.hover-effect-overlay .wbcom-portfolio-overlay{opacity:0}.hover-effect-overlay .wbcom-portfolio-item-inner:hover .wbcom-portfolio-overlay{opacity:1;background:var(--portfolio-overlay-hover)}.hover-effect-overlay .wbcom-portfolio-item-inner:hover .wbcom-portfolio-content{transform:translateY(0)}.hover-effect-slide-up .wbcom-portfolio-overlay{transform:translateY(100%);opacity:1}.hover-effect-slide-up .wbcom-portfolio-content,.hover-effect-slide-up .wbcom-portfolio-item-inner:hover .wbcom-portfolio-overlay{transform:translateY(0)}.hover-effect-slide-up .wbcom-portfolio-item-inner:hover .wbcom-portfolio-image img{transform:scale(1.05)}.hover-effect-fade .wbcom-portfolio-overlay{opacity:0}.hover-effect-fade .wbcom-portfolio-content{transform:translateY(0)}.hover-effect-fade .wbcom-portfolio-item-inner:hover .wbcom-portfolio-overlay,.hover-effect-none .wbcom-portfolio-overlay{opacity:1}.hover-effect-none .wbcom-portfolio-content{transform:translateY(0)}.hover-animation-grow .wbcom-portfolio-item-inner:hover{transform:scale(1.03)}.hover-animation-shrink .wbcom-portfolio-item-inner:hover{transform:scale(.97)}.hover-animation-pulse .wbcom-portfolio-item-inner:hover{animation:portfolio-pulse 1s ease infinite}.hover-animation-float .wbcom-portfolio-item-inner:hover{transform:translateY(-8px)}.hover-animation-sink .wbcom-portfolio-item-inner:hover{transform:translateY(8px)}.hover-animation-bob .wbcom-portfolio-item-inner:hover{animation:portfolio-bob 1s ease-in-out infinite}.hover-animation-hang .wbcom-portfolio-item-inner:hover{animation:portfolio-hang 1s ease-in-out infinite}@keyframes portfolio-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes portfolio-bob{0%,to{transform:translateY(-4px)}50%{transform:translateY(4px)}}@keyframes portfolio-hang{0%,to{transform:translateY(4px)}50%{transform:translateY(-4px)}}.text-placement-below .wbcom-portfolio-image{position:relative}.text-placement-below .wbcom-portfolio-overlay{display:none}.text-placement-below .wbcom-portfolio-content-below{padding:var(--portfolio-content-padding);text-align:var(--portfolio-text-align);border-radius:0 0 var(--portfolio-content-radius) var(--portfolio-content-radius);background:var(--portfolio-content-bg,var(--portfolio-item-bg))}.text-placement-below .wbcom-portfolio-content-below .wbcom-portfolio-title{color:var(--portfolio-list-title);margin:var(--portfolio-title-margin)}.text-placement-below .wbcom-portfolio-content-below .wbcom-portfolio-description{color:var(--portfolio-list-desc)}.text-placement-below .wbcom-portfolio-content-below .wbcom-portfolio-link{height:auto;padding:0;font-weight:500;color:var(--portfolio-filter-active);gap:8px;align-items:center;border-radius:0;background:transparent;width:auto;display:inline-flex}.text-placement-below .wbcom-portfolio-content-below .wbcom-portfolio-link svg{height:16px;width:16px}.text-placement-below .wbcom-portfolio-content-below .wbcom-portfolio-link:hover{transform:translateX(4px)}.layout-list .wbcom-portfolio-item-inner{flex-direction:row;display:flex}.layout-list .wbcom-portfolio-image{flex:0 0 300px;height:200px;padding-top:0}.layout-list .wbcom-portfolio-image img{height:100%;position:relative}.layout-list .wbcom-portfolio-overlay{flex:1;padding:24px 32px;position:relative;opacity:1;align-items:center;background:var(--portfolio-item-bg)}.layout-list .wbcom-portfolio-content{transform:none}.layout-list .wbcom-portfolio-title{color:var(--portfolio-list-title)}.layout-list .wbcom-portfolio-description{color:var(--portfolio-list-desc);-webkit-line-clamp:3}.layout-list .wbcom-portfolio-link{color:var(--portfolio-title-color);background:var(--portfolio-filter-active)}.layout-list.text-placement-below .wbcom-portfolio-content-below{flex:1;justify-content:center;flex-direction:column;display:flex}.wbcom-portfolio-empty{grid-column:1/-1;padding:60px 20px;color:var(--portfolio-empty-text);text-align:center;border-radius:var(--portfolio-item-radius);background:var(--portfolio-empty-bg)}.wbcom-portfolio-lightbox{height:100%;justify-content:center;transition:opacity .3s ease,visibility .3s ease;position:fixed;opacity:0;visibility:hidden;top:0;align-items:center;left:0;width:100%;display:flex;z-index:99999}.wbcom-portfolio-lightbox.is-open{opacity:1;visibility:visible}.wbcom-portfolio-lightbox-overlay{height:100%;position:absolute;top:0;background:rgba(0,0,0,.9);cursor:pointer;left:0;width:100%}.wbcom-portfolio-lightbox-content{position:relative;max-width:90%;max-height:90%;z-index:1}.wbcom-portfolio-lightbox-figure{flex-direction:column;margin:0;align-items:center;display:flex}.wbcom-portfolio-lightbox-image{transition:opacity .3s ease;max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;opacity:0;border-radius:4px}.wbcom-portfolio-lightbox-image.is-loaded{opacity:1}.wbcom-portfolio-lightbox-caption{font-size:16px;color:#fff;text-align:center;margin-top:16px}.wbcom-portfolio-lightbox-close,.wbcom-portfolio-lightbox-next,.wbcom-portfolio-lightbox-prev{height:48px;justify-content:center;border:none;color:#fff;transition:background .2s ease;position:absolute;align-items:center;border-radius:50%;background:hsla(0,0%,100%,.1);cursor:pointer;width:48px;display:flex}.wbcom-portfolio-lightbox-close:hover,.wbcom-portfolio-lightbox-next:hover,.wbcom-portfolio-lightbox-prev:hover{background:hsla(0,0%,100%,.2)}.wbcom-portfolio-lightbox-close svg,.wbcom-portfolio-lightbox-next svg,.wbcom-portfolio-lightbox-prev svg{height:24px;width:24px}.wbcom-portfolio-lightbox-close{right:20px;top:20px}.wbcom-portfolio-lightbox-prev{transform:translateY(-50%);top:50%;left:20px}.wbcom-portfolio-lightbox-next{transform:translateY(-50%);right:20px;top:50%}@media(max-width:1024px){.wbcom-portfolio-items.layout-grid{grid-template-columns:repeat(var(--portfolio-columns-tablet),1fr)}.layout-list .wbcom-portfolio-image{flex:0 0 220px;height:160px}}@media(max-width:768px){.wbcom-portfolio-controls{flex-direction:column;align-items:flex-start}.wbcom-portfolio-filters{overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;padding-bottom:8px;width:100%}.wbcom-portfolio-filters::-webkit-scrollbar{height:4px}.wbcom-portfolio-filters::-webkit-scrollbar-thumb{border-radius:2px;background:#ddd}.wbcom-portfolio-filter{flex-shrink:0}.wbcom-portfolio-items.layout-grid{grid-template-columns:repeat(var(--portfolio-columns-mobile),1fr)}.layout-list .wbcom-portfolio-item-inner{flex-direction:column}.layout-list .wbcom-portfolio-image{flex:none;height:auto;padding-top:56.25%;width:100%}.layout-list .wbcom-portfolio-image img{position:absolute}.layout-list .wbcom-portfolio-overlay{padding:20px}.wbcom-portfolio-lightbox-next,.wbcom-portfolio-lightbox-prev{height:40px;width:40px}.wbcom-portfolio-lightbox-next svg,.wbcom-portfolio-lightbox-prev svg{height:20px;width:20px}.wbcom-portfolio-lightbox-prev{left:10px}.wbcom-portfolio-lightbox-next{right:10px}}