/* Estilos base (a maior parte vem inline/escopado no widget) */
.pe-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.pe-filters .pe-filter{border:1px solid #333;background:#fff;padding:6px 12px;border-radius:6px;cursor:pointer}
.pe-filters .pe-filter.is-active{background:#111;color:#fff}
.pe-load-more-wrap{text-align:center;margin-top:16px}
.pe-load-more{border:none;background:#111;color:#fff;padding:10px 16px;border-radius:6px;cursor:pointer}


/* === PEP 2.0.3 Patch: smoother item animation === */
.pe-portfolio-wrapper .pe-item{
  transform: translateY(8px);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}
.pe-portfolio-wrapper .pe-item.pe-in{
  transform: translateY(0);
  opacity: 1;
}
/* subtle hover zoom */
.pe-portfolio-wrapper .pe-item img{
  transition: transform .25s ease !important;
}
.pe-portfolio-wrapper .pe-item:hover img{
  transform: scale(1.02);
}

/* === PEP 2.0.4 Patch: smooth transitions === */
.pe-item{transform:translateY(10px);opacity:0;transition:transform .25s ease,opacity .25s ease;}
.pe-item.pe-in{transform:translateY(0);opacity:1;}
.pe-item img{transition:transform .25s ease!important;}
.pe-item:hover img{transform:scale(1.02);}

/* === PEP 2.0.6 Patch: spinner and soft transitions === */
.pe-item{transform:translateY(10px);opacity:0;transition:transform .25s ease,opacity .25s ease;}
.pe-item.pe-in{transform:translateY(0);opacity:1;}
.pe-item img{transition:transform .25s ease!important;}
.pe-item:hover img{transform:scale(1.02);}

/* Load More button spinner */
.pe-load-more.pe-btn-loading{position:relative;pointer-events:none;opacity:.85;}
.pe-load-more.pe-btn-loading:before{
  content:"";position:absolute;left:12px;top:50%;width:14px;height:14px;margin-top:-7px;
  border-radius:50%;border:2px solid currentColor;border-top-color:transparent;
  animation:pe-spin 0.8s linear infinite;
}
@keyframes pe-spin{to{transform:rotate(360deg);}}


/* === PEP 2.0.7 Patch: maintain spinner === */
.pe-item{transform:translateY(10px);opacity:0;transition:transform .25s ease,opacity .25s ease;}
.pe-item.pe-in{transform:translateY(0);opacity:1;}
.pe-item img{transition:transform .25s ease!important;}
.pe-item:hover img{transform:scale(1.02);}
.pe-load-more.pe-btn-loading{position:relative;pointer-events:none;opacity:.85;}
.pe-load-more.pe-btn-loading:before{
  content:"";position:absolute;left:12px;top:50%;width:14px;height:14px;margin-top:-7px;
  border-radius:50%;border:2px solid currentColor;border-top-color:transparent;
  animation:pe-spin 0.8s linear infinite;
}
@keyframes pe-spin{to{transform:rotate(360deg);}}
