@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap');

:root {
  --ms-main: #6B5AED;
  --ms-main-dark: #5847D4;
  --ms-text: #111827;
  --ms-muted: #6B7280;
  --ms-border: #E5E7EB;
  --ms-bg: #FFFFFF;
}

.imr-card,
.imr-card *,
.imr-highlight,
.imr-highlight *,
.imr-desc,
.imr-desc *,
.imr-highlight-title,
.imr-highlight-title *,
.imr-highlight-desc,
.imr-highlight-desc * {
  word-break: keep-all;
}

.ms-grid {
  font-family: 'Noto Sans KR', system-ui, -apple-system, sans-serif;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  background: #f8f9fb;
  padding: 8px;
}

.ms-card {
  background: var(--ms-bg);
  border: 1px solid #EAECF0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,0.05);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.ms-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,0.07); }

.ms-img-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }

.ms-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; }

.ms-name { font-size: 17px; font-weight: 600; color: var(--ms-text); line-height: 1.35; }
.ms-subtitle { font-size: 12px; color: var(--ms-muted); line-height: 1.4; }

.ms-original { font-size: 12px; color: #9CA3AF; text-decoration: line-through; }

.ms-price-row { display: flex; align-items: baseline; gap: 6px; }
.ms-discount { color: #E53935; font-weight: 800; font-size: 14px; }
.ms-price { color: var(--ms-text); font-weight: 700; font-size: 20px; }

.ms-meta { display: flex; gap: 6px; }
.ms-badge { display: inline-flex; align-items: center; padding: 3px 7px; border: 1px solid var(--ms-border); border-radius: 8px; background: #F9FAFB; color: #4B5563; font-size: 11px; }

.ms-reviews { display: flex; align-items: center; gap: 6px; color: #6B7280; font-size: 12px; }
.ms-star { color: #E53935; font-size: 12px; }
.ms-rating { color: #E53935; font-weight: 600; }
.ms-divider { color: #D1D5DB; }

.ms-btn { margin-top: 4px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px 14px; border-radius: 10px; background: var(--ms-main); color: white; text-decoration: none; font-size: 14px; font-weight: 600; transition: background 160ms ease, transform 120ms ease; }
.ms-btn:hover { background: var(--ms-main-dark); }
.ms-btn:active { transform: translateY(1px); }
.ms-btn--disabled { background: #E5E7EB; color: #9CA3AF; cursor: default; }
.ms-arrow { width: 16px; height: 16px; }

/* Admin layout */
.ms-admin-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px 16px; align-items: end; }
.ms-row + .ms-row { border-top: 1px solid var(--ms-border); }
