.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:2rem 0}.portfolio-item{position:relative;border-radius:15px;overflow:hidden;transition:all 0.3s ease;cursor:pointer}.portfolio-item:hover{transform:translateY(-10px);box-shadow:0 10px 30px rgba(0,0,0,0.2)}.portfolio-item img{width:100%;height:300px;object-fit:cover}.item-overlay{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.7);color:white;padding:1.5rem;transform:translateY(100%);transition:all 0.3s ease}.portfolio-item:hover .item-overlay{transform:translateY(0)}.portfolio-description{background:rgba(42,92,130,0.05);border-radius:15px;padding:2rem;margin:2rem 0}.stats-card{background:var(--primary);color:white;border-radius:15px;padding:2rem;margin:1rem;text-align:center}.modal-content{background:rgba(0,0,0,0.9);border:none}.modal-image{max-height:80vh;object-fit:contain}.modal-body{padding:20px}.metadata-form{background:rgba(42,92,130,0.05);border-radius:15px;padding:20px}.metadata-form label{font-weight:600;color:var(--primary)}.metadata-form button{margin-right:10px;margin-top:15px}.portfolio-cover{display:block;padding:0;width:100%;border:0;background:transparent;cursor:pointer}.portfolio-caption{padding:1rem;background:white;overflow-wrap:anywhere}.portfolio-item{height:100%;background:white;box-shadow:0 2px 12px #0001}.portfolio-caption h4{font-size:1.2rem}.portfolio-empty{text-align:center;padding:2rem 1.25rem;background:#f0f6fa;border:1px solid #d8e5ef;border-radius:15px}.portfolio-empty h2{font-size:1.5rem;color:var(--primary)}.portfolio-empty p{max-width:600px;margin:1rem auto 1.5rem;line-height:1.7}@media (max-width:768px){.portfolio-grid{grid-template-columns:1fr}}