/* Magnitof Portfolio v1.0.6 */
.mgp-wrap{--mgp-gap:20px;--mgp-cols:4;--mgp-scale:1.04;--mgp-duration:300ms;--mgp-shine-op:55%;
          --mgp-close-bg:#fff;--mgp-close-color:#111;--mgp-close-radius:10px;--mgp-close-pad:12px;--mgp-close-font:20px;}

.mgp-filters{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:12px;margin:0 0 24px;width:100%}
.mgp-filter{flex:1 1 0;text-align:center;cursor:pointer;border:1px solid transparent;background:#F4F5F7;color:#333;border-radius:12px;padding:14px 20px;transition:all .25s ease;font-weight:600;height:100%}
.mgp-filter:hover{transform:translateY(-1px)}
.mgp-filter.is-active{background:#FFD259;color:#111}

.mgp-grid{display:grid;grid-template-columns:repeat(var(--mgp-cols),1fr);gap:var(--mgp-gap)}
.mgp-item{position:relative;overflow:hidden;border-radius:12px;background:#000}
.mgp-item .mgp-img{display:block;position:relative;overflow:hidden}
.mgp-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--mgp-duration) ease}
.mgp-item:hover img{transform:scale(var(--mgp-scale))}

.mgp-wrap[data-shine="1"] .mgp-shine{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg, rgba(255,255,255,0) 20%, rgba(255,255,255,.5) var(--mgp-shine-op), rgba(255,255,255,0) 80%);transform:translateX(-130%) skewX(-20deg);transition:transform .8s ease;}
.mgp-wrap[data-shine="1"] .mgp-item:hover .mgp-shine{transform:translateX(130%) skewX(-20deg);}

.mgp-caption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;color:#fff;background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 70%);font-size:14px;line-height:1.3}

@media (max-width: 767px){
  .mgp-grid{display:flex;overflow-x:auto;gap:var(--mgp-gap);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}
  .mgp-item{min-width: calc(100% - var(--mgp-gap));scroll-snap-align:center;flex:0 0 auto}
  .mgp-item img{height:auto;object-fit:contain}

  .mgp-dots{display:flex;gap:6px;justify-content:center;margin-top:10px}
  .mgp-dot{width:7px;height:7px;border-radius:50%;background:#cfd3d7;opacity:.8}
  .mgp-dot.is-active{background:#111;opacity:1}

  .mgp-filter{flex:1 1 calc(50% - 6px);}
  .mgp-filters .mgp-filter:nth-child(3){flex-basis:100%;}
}
.mgp-hidden{display:none !important;}

.mgp-lightbox-layer{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:999999;padding:24px}
.mgp-lightbox-layer img{max-width:100%;max-height:100%;}

.mgp-lightbox-close{position:absolute;top:16px;right:16px;background:var(--mgp-close-bg);color:var(--mgp-close-color);
  border:none;border-radius:var(--mgp-close-radius);padding:var(--mgp-close-pad);font-weight:700;cursor:pointer;
  line-height:1;display:inline-flex;align-items:center;justify-content:center;font-size:var(--mgp-close-font);}
.mgp-lightbox-close:hover{opacity:.92;transform:scale(1.02);transition:all .15s ease;}
