/* portfolio.css - minimal, conservative */
.container { max-width:1200px; margin:0 auto; }

.page-title { font-size:1.6rem; margin-bottom:1rem; }

.flash { padding: .6rem .9rem; border-radius:6px; margin-bottom:1rem; }
.flash.success { background:#e6ffed; color:#0b6b2e; border:1px solid #c7f0d4; }
.flash.error { background:#ffecec; color:#7b1f1f; border:1px solid #f2c6c6; }
.flash.info { background:#f0f6ff; color:#0b3a78; border:1px solid #d8e7ff; }

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 1rem;
}

.portfolio-card {
  background: transparent;
  border-radius: 6px;
  overflow: hidden;
  text-align: left;
  margin: 0;
}

.portfolio-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display:block;
}

.portfolio-meta {
  padding: 0.5rem 0.3rem;
  font-size: 0.95rem;
}

/* admin grid */
.portfolio-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

.admin-card {
  border: 1px solid #eee;
  padding: 0.5rem;
  border-radius: 6px;
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.admin-card img {
  object-fit: cover;
  width: 100%;
  height: 150px;
  border-radius: 4px;
}

.admin-card-body {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:0.5rem;
}

.admin-card .meta { flex:1; }

.btn {
  display:inline-block;
  padding: .5rem .8rem;
  border-radius:5px;
  border: none;
  background:#2d7cf0;
  color:#fff;
  cursor:pointer;
}

.btn-danger {
  background: #e03e2d;
}

/* small helpers */
.input { width: 100%; padding: .45rem; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; }
.small { font-size: 0.85rem; color: #666; }

label { display:block; margin-bottom:.25rem; font-weight:600; }
