/* 나비왕 v2 — Tailwind 보조 스타일 */

/* 가로 스크롤바 숨김 (카테고리 칩/캐러셀) */
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

/* 멀티라인 말줄임 (구형 브라우저 대비) */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 스크롤 스냅 캐러셀 */
.snap-carousel { scroll-snap-type: x mandatory; }
.snap-carousel > * { scroll-snap-align: start; }

/* 토스트 애니메이션 */
@keyframes nw-toast-in {
  from { opacity: 0; transform: translateY(-8px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.nw-toast { animation: nw-toast-in .22s ease-out; }

/* 스켈레톤 */
@keyframes nw-shimmer { 100% { transform: translateX(100%); } }
.skeleton { position: relative; overflow: hidden; background: #eef0f3; }
.skeleton::after {
  content: ""; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent);
  animation: nw-shimmer 1.4s infinite;
}

/* 상세 콘텐츠(에디터 HTML) 기본 스타일 */
.prose-detail img { max-width: 100%; height: auto; border-radius: 12px; }
.prose-detail p { margin: .6em 0; line-height: 1.75; }
.prose-detail h1, .prose-detail h2, .prose-detail h3 { font-weight: 800; margin: 1em 0 .4em; }

/* 숫자 입력 스피너 제거 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* iOS 터치 하이라이트 제거 */
a, button { -webkit-tap-highlight-color: transparent; }

/* 안전영역 유틸 */
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
