/* Minimal clean UI – có thể tùy biến thêm */
.fsw-wrap { display:grid; gap:16px; }
.fsw-wrap.fsw-slider { display:grid; grid-auto-flow: column; overflow:auto; scroll-snap-type:x mandatory; gap:16px; }
.fsw-item { border:1px solid #eee; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.06); min-width:260px; scroll-snap-align:start; }
.fsw-thumb img { display:block; width:100%; height:auto; }
.fsw-content { padding:12px 14px 16px; }
.fsw-title { font-size:15px; margin:6px 0 8px; line-height:1.4; }
.fsw-price { font-weight:600; margin-bottom:8px; }
.fsw-badge { position:absolute; margin:10px; background:#111; color:#fff; font-size:12px; padding:6px 10px; border-radius:999px; }
.fsw-timer { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; background:#f5f7ff; border:1px dashed #cfd6ff; padding:8px 10px; border-radius:10px; display:inline-block; }
.fsw-admin .fsw-grid .fsw-row { display:flex; gap:14px; margin:8px 0; }
.fsw-box { border:1px solid #eee; padding:12px; border-radius:14px; margin:10px 0; background:#fff9f2; }
.fsw-box__title { font-weight:700; margin-bottom:6px; }
@media (min-width:1024px){ .fsw-wrap:not(.fsw-slider){ grid-template-columns: repeat(var(--fsw-col-d,4), 1fr); } }
@media (min-width:768px) and (max-width:1023px){ .fsw-wrap:not(.fsw-slider){ grid-template-columns: repeat(var(--fsw-col-t,3), 1fr); } }
@media (max-width:767px){ .fsw-wrap:not(.fsw-slider){ grid-template-columns: repeat(var(--fsw-col-m,2), 1fr); } }