/* Container */
.dashboard-container{ margin:0 auto; max-width:1400px; padding:12px 16px; }

/* Title */
.page-title{ text-align:center; margin:6px 0 16px; }

/* Flash messages */
.flash{ margin:10px auto 16px; padding:10px 14px; border-radius:8px; width:min(760px,95%); text-align:center; font-weight:600; }
.flash-success{ background:#e8f5e9; color:#1b5e20; border:1px solid #c8e6c9; }
.flash-error{   background:#ffebee; color:#b71c1c; border:1px solid #ffcdd2; }
.flash-notice{  background:#fff8e1; color:#8d6e63; border:1px solid #ffe0b2; }

/* Search */
.search-bar{ text-align:center; margin: 8px 0 20px; }
.search-form{ display:inline-flex; gap:10px; align-items:center; }
.search-input{ padding:10px 12px; font-size:16px; width:min(360px, 92vw); border:1px solid #dcdcdc; border-radius:10px; }

/* Grid */
.products-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap:28px 26px;
  margin-top:20px;
}

/* Card */
.product-card{
  background:#fff; color:#111;
  border:1px solid #e6e6e6; border-radius:16px;
  padding:18px; text-align:center;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.product-code{ margin:0 0 12px; font-size:22px; }

/* Image: ίδιο μέγεθος για όλες + πλήρης προβολή */
.img-wrap{
  height: 420px;                       /* κοινό ύψος → ίδιες κάρτες */
  background:#f7f7f7;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  margin-bottom:14px;
}
.product-img{
  max-width:100%;
  max-height:100%;
  object-fit: contain;                 /* ΔΕΝ κόβει την εικόνα */
  display:block;
}
.img-fallback{ color:#999; font-style:italic; }

/* Text rows */
.p-row{ margin:6px 0; line-height:1.45; }

/* Stock badge */
.stock{ margin:10px 0 6px; }
.stock-badge{
  display:inline-block; padding:6px 10px; border-radius:14px;
  font-weight:600; border:1px solid transparent;
}
.stock-badge.in{  background:#e8f5e9;  color:#1b5e20; border-color:#c8e6c9; }
.stock-badge.out{ background:#ffebee; color:#b71c1c; border-color:#ffcdd2; }

/* Add form */
.request-form{ margin-top:8px; display:inline-flex; gap:8px; align-items:center; }
.qty-input{ width:90px; padding:8px 10px; border:1px solid #dcdcdc; border-radius:8px; }

/* Buttons */
.btn{ appearance:none; border:none; border-radius:10px; padding:10px 14px; cursor:pointer; font-weight:600; }
.btn-primary{ background:#e0f0ff; }
.btn-success{ background:#0a8f33; color:#fff; }
.btn-secondary{ background:#607D8B; color:#fff; }
.btn-disabled{ background:#9e9e9e; color:#fff; cursor:not-allowed; }

/* Notes */
.already-note{ margin-top:6px; font-size:13px; color:#555; }
.no-results{ text-align:center; }

/* Bottom actions */
.bottom-actions{ text-align:center; margin:28px 0; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* Responsive */
@media (max-width: 640px){
  .img-wrap{ height: 300px; }
}
