/* Project cards grid */
.project-card {
  border: none;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.08);
}
.project-card .card-img-top {
  height: 180px;
  object-fit: cover;
  background: #f1f3f5;
}
.project-card .card-footer { background: #fff; }

/* Full-width banner styling */
.projects-banner { background: url('../img/bg.jpg') center center no-repeat; background-size: cover; }
.projects-banner .container-fluid { max-width: 100vw; }

/* Project form styling */
.project-form input[type="text"],
.project-form select,
.project-form textarea,
.project-form input[type="file"] {
    border: 1px solid #ced4da;
    transition: border-color .2s, box-shadow .2s;
}
.project-form input:focus,
.project-form select:focus,
.project-form textarea:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 .2rem rgba(13,110,253,.15);
}
.project-form button {
    background: linear-gradient(135deg,#0d6efd,#6610f2);
    border: none;
}
.project-form button:hover {
    filter: brightness(1.08);
}

/* Drop zone styling */
.drop-zone {
  position: relative;
  border: 2px dashed #b5c3d6;
  background: #f8f9fa;
  padding: 18px;
  border-radius: 14px;
  text-align: center;
  cursor: pointer;
  transition: .2s;
}
.drop-zone.drag-over {
  background:#e8f3ff;
  border-color:#0d6efd;
}
.drop-zone input[type="file"] {
  position: absolute !important;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  opacity: 0 !important;
  cursor: pointer;
  z-index: 2;
}
#image-preview img {
  object-fit:cover;
  border-radius:12px;
}

/* Pagination styling */
.pagination .page-link { min-width:42px; text-align:center; }
.pagination .page-item.active .page-link { background:#0d6efd; border-color:#0d6efd; }