/* Grid */
.offers-grid[data-offers="sheetless"] {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .offers-grid[data-offers="sheetless"] { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 980px) { .offers-grid[data-offers="sheetless"] { grid-template-columns: repeat(3,1fr); } }

/* Card */
.offer-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100%;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.06);
  overflow: hidden;
}
.offer-cover { position: relative; aspect-ratio: 16 / 9; background: #f7f7f7; }
.offer-cover img, .offer-cover .offer-cover--ph { width: 100%; height: 100%; object-fit: cover; display: block; }
.offer-cover--ph { background: linear-gradient(135deg, #eee, #f7f7f7); }

/* Badge reducere — roșu */
.offer-badge--sale {
  position: absolute; top: .5rem; left: .5rem;
  background: #E02424; color: #fff; font-weight: 800; font-size: .9rem;
  border-radius: .5rem; padding: .28rem .55rem; line-height: 1;
}

/* Body */
.offer-body { padding: .9rem 1rem .25rem; display: grid; gap: .45rem; }
.offer-title { margin:0; font-size: 1.05rem; font-weight: 700; line-height: 1.25;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.offer-desc { margin:0; color:#555; font-size:.95rem; line-height:1.4;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Prețuri — puțin mai mare */
.offer-prices { display:flex; align-items: baseline; gap:.5rem; margin-top:.25rem; }
.offer-price-new { font-weight:800; font-size:1.2rem; }
.offer-price-old { text-decoration: line-through; opacity:.6; }

/* Footer & CTA */
.offer-footer { display:flex; justify-content:flex-end; align-items:center; padding:.75rem 1rem 1rem; }
.offer-cta { margin-left:auto; display:inline-flex; align-items:center; justify-content:center;
  padding:.6rem 1rem; border-radius:.6rem; background:#25D366; color:#fff; text-decoration:none; font-weight:800;
  box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.offer-cta:active { transform: translateY(1px); }

/* Manager UI */
.om-manager { max-width: 960px; margin: 0 auto; }
.om-manager h2 { margin: .25rem 0 1rem; }
.om-add summary { cursor: pointer; padding: .5rem 0; }
.om-form { display: grid; gap: .65rem; background: #fff; padding: 1rem; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.om-form label { display: grid; gap: .25rem; font-weight: 600; }
.om-form input[type="text"],
.om-form input[type="number"],
.om-form input[type="password"],
.om-form input[type="datetime-local"],
.om-form textarea {
  width: 100%; padding: .55rem .7rem; border: 1px solid #ddd; border-radius: .5rem; font: inherit;
}
.om-form button { align-self: flex-start; display:inline-flex; gap:.4rem; padding:.6rem 1rem; border-radius:.55rem; background:#111; color:#fff; border:0; cursor:pointer; font-weight:700; }
.om-grid-3 { display:grid; gap:.65rem; grid-template-columns:1fr; }
@media (min-width: 700px) { .om-grid-3 { grid-template-columns: repeat(3, 1fr); } }
.om-list { display:grid; gap: .75rem; }
.om-item summary { cursor: pointer; padding:.5rem .25rem; background:#f9f9f9; border-radius:.5rem; }
.om-thumb img { width: 160px; height: auto; border-radius:.5rem; border: 1px solid #eee; }
.om-actions { display:flex; gap:.5rem; align-items:center; }
.om-danger { background:#b00020 !important; }

/* Reorder list */
.om-sortable { list-style: none; margin: 0 0 1rem; padding: 0; display:grid; gap:.5rem; }
.om-sortable-item { display:flex; align-items:center; gap:.5rem; background:#fff; padding:.5rem .6rem; border-radius:.5rem; border:1px solid #eee; }
.om-sortable-item.dragging { opacity:.6; }
.om-drag-handle { cursor: grab; font-size:1.2rem; user-select:none; }
.om-sort-thumb { width:48px; height:48px; object-fit:cover; border-radius:.35rem; }
.om-sort-title { font-weight:600; }
.om-save-order { display:inline-flex; align-items:center; gap:.4rem; padding:.55rem .9rem; border:0; border-radius:.5rem; background:#111; color:#fff; font-weight:700; cursor:pointer; }