/* CubePortfolio Grid CSS (placeholder for gallery grid) */
.cbp { display: flex; flex-wrap: wrap; gap: 15px; }
.cbp-item { flex: 1 1 calc(25% - 15px); min-width: 250px; }
.cbp-caption { position: relative; overflow: hidden; border-radius: 8px; }
.cbp-caption-defaultWrap img { width: 100%; height: auto; display: block; transition: transform 0.3s; }
.cbp-caption:hover .cbp-caption-defaultWrap img { transform: scale(1.05); }
.cbp-caption-activeWrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; }
.cbp-caption:hover .cbp-caption-activeWrap { opacity: 1; }
.xpro-overlay-icon svg { width: 30px; height: 30px; fill: #fff; }
@media (max-width: 768px) { .cbp-item { flex: 1 1 calc(50% - 15px); } }
@media (max-width: 480px) { .cbp-item { flex: 1 1 100%; } }
