/* Flash Sale (tanpa stok & progress) */
.flash-sale-section {
  max-width:1320px;
  margin:2.2rem auto 2.6rem;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;
  position:relative;
}
.fs-head { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; margin:0 0 1rem; flex-wrap:wrap; }
.fs-title { margin:0;font-size:1.45rem;line-height:1.15;font-weight:700;letter-spacing:.5px;color:#0f172a;position:relative; }
.fs-title:after { content:'';position:absolute;left:0;bottom:-6px;width:72px;height:4px;background:linear-gradient(90deg,#0d6efd,#5aa9ff);border-radius:4px; }
.fs-left { display:flex; flex-direction:column; gap:.65rem; }
.fs-countdown { display:flex;align-items:center;gap:.35rem;background:#0f172a;border:1px solid #1e293b;padding:.4rem .65rem;border-radius:10px;font-size:.65rem;color:#fff;letter-spacing:.5px; }
.cd-label { font-weight:600; opacity:.85; }
.cd-time { background:#1e293b;padding:.35rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600;min-width:32px;text-align:center; }
.cd-sep { font-weight:700;font-size:.8rem;padding:0 .1rem; }

.fs-nav { display:flex; gap:.5rem; margin-left:auto; }
.fs-btn {
  background:#fff;border:1px solid #dbe3ec;width:42px;height:42px;border-radius:10px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;font-weight:600;color:#0d2c5b;transition:.25s;box-shadow:0 2px 6px -2px rgba(0,0,0,.15);
}
.fs-btn:hover { background:#0d6efd;color:#fff;border-color:#0d6efd; }
.fs-btn:active { transform:scale(.92); }

.fs-viewport { overflow:hidden; position:relative; }
.fs-track { display:flex; gap:1rem; will-change:transform; overflow-x:auto; scrollbar-width:none; padding-bottom:.4rem; }
.fs-track::-webkit-scrollbar { display:none; }

.fs-item { flex:0 0 230px; max-width:230px; position:relative; }
@media (max-width:1100px){ .fs-item { flex:0 0 210px; max-width:210px; } }
@media (max-width:840px){ .fs-item { flex:0 0 190px; max-width:190px; } }
@media (max-width:640px){ 
    .fs-item { flex:0 0 170px; max-width:170px; } 
    .flash-sale-section { 
        margin: 0;
        padding: 0 1.2rem;
        border: 0;
    }
}

.fs-card {
  display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;
  border-radius:14px;text-decoration:none;color:inherit;overflow:hidden;position:relative;
  height:100%;transition:.28s;
}
.fs-card:hover { transform:translateY(-5px); box-shadow:0 10px 24px -10px rgba(0,0,0,.25); border-color:#d4dde6; }

.fs-card .thumb { aspect-ratio:1/1; background:#f1f5f9; display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
.fs-card .thumb img { width:100%; height:100%; object-fit:cover; display:block; }

.badge-disc {
  position:absolute; top:8px; left:8px;
  background:#dc2626; color:#fff; font-size:.58rem;
  padding:4px 6px 3px; border-radius:6px; font-weight:700; letter-spacing:.4px;
}
.badge-upcoming {
  position:absolute; top:8px; right:8px;
  background:#f59e0b; color:#fff; font-size:.57rem;
  padding:4px 6px 3px; border-radius:6px; font-weight:700; letter-spacing:.4px;
}

.fs-card .info {
  padding:.55rem .65rem .75rem;
  display:flex; flex-direction:column; gap:.6rem;
  min-height:80px;
}

.fs-card .name {
  margin:0; font-size:.68rem; line-height:1.25;
  height:2.5em; overflow:hidden; font-weight:600; color:#1e293b;
}
.fs-card .prices {
  display:flex; flex-wrap:wrap; gap:.4rem; align-items:baseline; margin-top:auto;
}
.fs-card .prices .final { font-size:.8rem; font-weight:700; color:#0d6efd; }
.fs-card .prices .ori { font-size:.6rem; text-decoration:line-through; color:#94a3b8; font-weight:500; }

.item-countdown {
  font-size:.6rem; font-weight:600; letter-spacing:.5px;
  background:#f1f5f9; border:1px solid #e2e8f0;
  padding:.3rem .45rem .28rem;
  border-radius:6px; color:#334155;
  display:inline-flex;
}

.fs-track.dragging { cursor:grabbing; }
