
/* ========== Custom Flohmarkt Module — v2.4.0 UI ========== */
:root{
  --cfm-bg:#f8fafc;
  --cfm-card:#ffffff;
  --cfm-border:#e5e7eb;
  --cfm-text:#111827;
  --cfm-muted:#6b7280;
  --cfm-primary:#1e40af;
  --cfm-primary-hover:#1d4ed8;
  --cfm-success:#047857;
  --cfm-success-hover:#059669;
  --cfm-danger:#b91c1c;
  --cfm-danger-hover:#dc2626;
  --cfm-warning:#f59e0b;
  --cfm-warning-bg:#fef3c7;
  --cfm-radius:12px;
  --cfm-shadow:0 6px 16px rgba(17,24,39,.06);
}

*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--cfm-text)}

.flohmarkt-dashboard.container{display:flex;gap:1.5rem}
.flohmarkt-menu{min-width:220px}

.product-list{border:1px solid var(--cfm-border);border-radius:var(--cfm-radius);padding:16px;background:var(--cfm-bg)}

.cfm-filters{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:12px;
  margin:0 0 14px 0;
  align-items:end;
}
.cfm-filters label{font-size:12px;color:var(--cfm-muted);display:block;margin-bottom:4px}
.cfm-filters select,.cfm-filters input[type=number]{
  width:100%;padding:8px 10px;border:1px solid var(--cfm-border);border-radius:10px;background:#fff;outline:none;
}
.cfm-filters #category_filter{grid-column: span 4;}
.cfm-filters #seller_filter{grid-column: span 4;}
.cfm-filters #price_from{grid-column: span 2;}
.cfm-filters #price_to{grid-column: span 2;}
.cfm-filters .cfm-btn{grid-column: span 2;}

@media (max-width: 900px){
  .cfm-filters{grid-template-columns: repeat(6, 1fr);}
  .cfm-filters #category_filter{grid-column: span 6;}
  .cfm-filters #seller_filter{grid-column: span 6;}
  .cfm-filters #price_from{grid-column: span 3;}
  .cfm-filters #price_to{grid-column: span 3;}
  .cfm-filters .cfm-btn{grid-column: span 6;}
}
@media (max-width: 560px){
  .cfm-filters{grid-template-columns: repeat(2, 1fr);}
  .cfm-filters #category_filter,
  .cfm-filters #seller_filter,
  .cfm-filters #price_from,
  .cfm-filters #price_to,
  .cfm-filters .cfm-btn{grid-column: span 2;}
}

/* Stats */
.cfm-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;margin:0 0 12px 0;background:#f8fafc;border:1px solid var(--cfm-border);border-radius:var(--cfm-radius)}
.cfm-stat{background:#fff;border:1px solid var(--cfm-border);border-radius:var(--cfm-radius);padding:10px 12px;box-shadow:var(--cfm-shadow)}
.cfm-stat .label{font-size:12px;letter-spacing:.02em;color:var(--cfm-muted);text-transform:uppercase}
.cfm-stat .value{font-size:20px;font-weight:700;margin-top:2px}
.cfm-stat .sub{font-size:12px;color:var(--cfm-muted);margin-top:2px}
.cfm-inline-links{margin-left:.35rem;font-size:12px}
.cfm-inline-links a{color:var(--cfm-primary);text-decoration:underline}
.cfm-inline-links a:hover{color:var(--cfm-primary-hover)}

@media (max-width: 700px){
  .cfm-stats{grid-template-columns:1fr}
}

/* Cards */
.product-item.cfm-card{
  display:grid;
  grid-template-columns: 112px 1fr 220px;
  gap:14px;
  align-items:flex-start;
  background:var(--cfm-card);
  border:1px solid var(--cfm-border);
  border-radius:var(--cfm-radius);
  padding:14px;
  box-shadow:var(--cfm-shadow);
  margin-bottom:12px;
}
.product-item .cfm-media img{
  width:100%;height:96px;object-fit:cover;border-radius:10px;display:block;
  border:1px solid var(--cfm-border);
}
.product-item .cfm-title{margin:0 0 6px 0;font-size:18px;line-height:1.25}
.product-item .description{color:#374151;margin:6px 0 10px 0;max-width:65ch}
.product-item .details{margin:6px 0;color:#374151;font-size:14px}
.product-item .meta{list-style:none;padding:0;margin:.5rem 0;font-size:14px;color:#374151}
.product-item .meta li{margin:2px 0}

.product-item .cfm-price{
  text-align:right;
  font-size:16px;
  font-weight:600;
  color:#111827;
}
.product-item .cfm-price .label{color:var(--cfm-muted);font-weight:500;margin-right:.25rem}

.cfm-actions{display:flex;flex-direction:column;gap:8px}
.cfm-buy-slots{display:flex;gap:10px;flex-wrap:wrap}

@media (max-width: 980px){
  .product-item.cfm-card{grid-template-columns:112px 1fr}
  .product-item .cfm-price{grid-column:2; text-align:left}
  .cfm-actions{grid-column:2}
}
@media (max-width: 560px){
  .product-item.cfm-card{grid-template-columns:1fr}
  .product-item .cfm-price{text-align:left}
}

/* Buttons */
.cfm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;padding:9px 14px;border-radius:10px;border:1px solid transparent;
  font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s ease;
}
.cfm-btn-primary{background:var(--cfm-primary);color:#fff}
.cfm-btn-primary:hover{background:var(--cfm-primary-hover)}
.cfm-btn-success{background:var(--cfm-success);color:#fff}
.cfm-btn-success:hover{background:var(--cfm-success-hover)}
.cfm-btn-secondary{background:#fff;color:#111827;border-color:var(--cfm-border)}
.cfm-btn-secondary:hover{box-shadow:var(--cfm-shadow)}
.cfm-btn-danger{background:var(--cfm-danger);color:#fff}
.cfm-btn-danger:hover{background:var(--cfm-danger-hover)}

/* Alerts */
.cfm-alert{padding:10px 12px;border-radius:10px;border:1px solid var(--cfm-border);font-size:14px}
.cfm-alert-warning{background:var(--cfm-warning-bg);border-color:#fcd34d;color:#92400e}

/* Menu & container tweaks */
.flohmarkt-product-form-container,.product-list{background:var(--cfm-card)}


/* ===== v2.4.1 layout refinements ===== */

/* Explicit grid placement to keep description in the middle column */
.product-item.cfm-card { grid-template-columns: 112px 1fr 260px; }
.product-item .cfm-media { grid-column: 1; }
.product-item .cfm-title { grid-column: 2; align-self: start; }
.product-item .description { grid-column: 2; }
.product-item .details { grid-column: 2; }
.product-item .meta { grid-column: 3; }
.product-item .cfm-price { grid-column: 3; justify-self: end; align-self: start; }

/* More prominent price badge */
.product-item .cfm-price {
  background: var(--cfm-primary);
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 700;
  box-shadow: var(--cfm-shadow);
}
.product-item .cfm-price .label { color: rgba(255,255,255,.9); margin-right: .35rem; font-weight: 600; }
.product-item .cfm-price .value { font-variant-numeric: tabular-nums; }

/* Actions row: side-by-side buttons & alert */
.cfm-actions {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.cfm-alert { display: inline-flex; align-items: center; white-space: nowrap; }
.cfm-btn { white-space: nowrap; }

/* Better spacing for left description column */
.product-item .description { margin-top: 4px; max-width: 80ch; }
.product-item .details { margin-top: 4px; }

/* Responsive adjustments */
@media (max-width: 980px){
  .product-item.cfm-card { grid-template-columns: 112px 1fr; }
  .product-item .cfm-price { grid-column: 2; justify-self: start; margin: 2px 0 6px 0; }
  .product-item .meta { grid-column: 2; }
  .cfm-actions { grid-column: 2; }
}
@media (max-width: 560px){
  .product-item.cfm-card { grid-template-columns: 1fr; }
  .product-item .cfm-media img { height: 180px; }
  .product-item .cfm-price { width: max-content; }
}
