/* Dark theme catalog — screenshot style */
.pp-catalog-shell { max-width:1200px; margin:20px auto; padding:18px; color:#d8e1ea; font-family: "Inter", Helvetica, Arial, sans-serif; }

/* Header */
.pp-catalog-header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.pp-catalog-title { margin:0; color:#fff; font-size:28px; font-weight:600; }
.pp-catalog-controls { display:flex; gap:8px; align-items:center; }

.pp-catalog-search { padding:10px 12px; border-radius:8px; background:#0b1116; border:1px solid #1f2a36; color:#cfe6ff; min-width:260px; }
.pp-catalog-supplier-filter, .pp-catalog-sort { padding:8px 10px; border-radius:8px; background:#0b1116; border:1px solid #1f2a36; color:#cfe6ff; }

/* Filters row */
.pp-catalog-filters-row { display:flex; justify-content:flex-start; gap:14px; margin-bottom:18px; align-items:center; }
.pp-catalog-dosage-filter label, .pp-catalog-price-filter label {
    color: #9fb2c9;
    font-size: 14px;
    float: left;
    width: 100%;
    margin: 5px;
}

/* Grid */
.pp-catalog-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap:18px;
}

/* Product card */
.pp-card {
  border-radius:12px;
  padding:14px;
  box-shadow: 0 6px 18px rgba(2,6,12,0.35);
  transition: transform .12s ease, box-shadow .12s ease;
}

.pp-card:hover { transform: translateY(-4px); box-shadow: 0 10px 30px rgba(2,6,12,0.55); }

.pp-card-head { display:flex; gap:12px; align-items:flex-start; margin-bottom:10px; }
.pp-thumb { width:64px; height:64px; border-radius:8px; overflow:hidden; flex:0 0 64px; background:#09202a; display:flex; align-items:center; justify-content:center; }
.pp-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.pp-thumb-empty 
{     background: linear-gradient(135deg, #26c4c3, #1b446a); }

/* Title & excerpt */
.pp-title {
    color: #1b446a;
    font-size: 19px;
    margin: 18px 10px;
}
.pp-excerpt { color:#9fb2c9; margin-top:6px; font-size:13px; }

/* Supplier list inside product card */
.pp-suppliers { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.pp-supplier {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background: #f1f1f1;
    border-radius: 8px;
    border: 1px solid #cfcfcf;
}
.pp-sup-left { display:flex; flex-direction:column; gap:4px; }
.pp-sup-name {
    font-weight: 600;
    color: #000000;
    font-size: 14px;
}
.pp-sup-dosage { font-size:12px; color:#8fa8bf; }

.pp-sup-right { display:flex; align-items:center; gap:12px; }
.pp-sup-price { color:#f7b96b; font-weight:700; font-size:15px; min-width:95px; text-align:right; }
.pp-sup-cta .pp-btn-view { background:#2d9cff; color:#fff; border:none; padding:8px 10px; border-radius:8px; cursor:pointer; }
.pp-sup-cta .pp-btn-view:hover { opacity:0.95; }

/* Small statuses */
.pp-loading, .pp-empty, .pp-error { color:#9fb2c9; padding:20px; text-align:center; }

/* Pagination */
.pp-catalog-pagination { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:18px; }
.pp-catalog-pagination .button { background:#123145; border:1px solid #1f2a36; color:#dfeeff; padding:8px 12px; border-radius:8px; cursor:pointer; }


/* Force filter bar to use dark theme */
.pp-catalog-shell input,
.pp-catalog-shell select,
.pp-catalog-shell button {
    background: #1b446a !important;
    border: 1px solid #1f2a36 !important;
    color: #cfe6ff !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: 20px !important;
}

/* Fix the search bar width */
.pp-catalog-search {
    min-width: 260px !important;
}

/* Fix dropdowns */
.pp-catalog-supplier-filter,
.pp-catalog-sort,
.pp-catalog-dosage {
    padding: 10px !important;
}

/* Fix Apply + Reset buttons */
.pp-catalog-reset,
.pp-catalog-apply,
.pp-btn-view {
    background: #2d9cff !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
}
.pp-catalog-dosage-filter {
    float: left!important;
    width: 20%!important;
}
.pp-catalog-price-filter {
    float: left;
    width: 80%;
}

input.pp-catalog-min-price, input.pp-catalog-max-price, button.pp-catalog-apply.button {
    float: left!important;
    width: 31%!important;
    padding: 11px!important;
    height: 42px!important;
    margin: 1%!important;
}


/* Responsive */
@media (max-width:900px){
  .pp-catalog-header { flex-direction:column; align-items:flex-start; gap:10px; }
  .pp-catalog-controls { width:100%; justify-content:flex-start; flex-wrap:wrap; }
}
@media (max-width:520px){
  .pp-card-head { gap:8px; }
  .pp-thumb { width:52px; height:52px; }
  .pp-suppliers { gap:6px; }
  .pp-sup-price { min-width:72px; font-size:14px; }
}
