@charset "UTF-8";
/* ==========================================================================
   autobase — 셀프 견적·견적서 반응형 + 인쇄 (모든 @media 는 이 파일에만)
   견적서 지면(.qv-sheet)은 1100px 고정 + JS scale 축소라 @media 불필요.
   ========================================================================== */

/* ── 1200 이하 ───────────────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .qt__title { font-size: 44px; }
}

/* ── 1024 이하 ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .qt { margin-top: 72px; }
  .qt__title { font-size: 34px; }

  .qt-pick { flex-wrap: wrap; }
  .qt-pick__field--product { flex-basis: 100%; }
}

/* ── 768 이하 : 모바일 ───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .qt { margin-top: 48px; }
  .qt__title { font-size: 27px; }
  .qt__desc { margin-top: 12px; font-size: 14px; }

  .qt-pick { margin-top: 28px; padding: 20px; border-radius: 12px; gap: 10px; }
  .qt-pick__field input { width: 90px; }
  .qt-pick__add { flex: 1 1 auto; justify-content: center; }

  /* 표 → 카드형 스택 */
  .qt-table { margin-top: 20px; }
  .qt-table thead { display: none; }
  .qt-table tr { display: block; position: relative; padding: 14px 40px 14px 0; border-bottom: 1px solid #ddd; }
  .qt-table td { display: inline-block; padding: 2px 6px 2px 0; border: 0; text-align: left; }
  .qt-table td.no { display: none; }
  .qt-table td.item { display: block; }
  .qt-table td.qty::before { content: "수량 "; font-size: 13px; color: #888; }
  .qt-table td.price::before { content: "단가 "; font-size: 13px; color: #888; }
  .qt-table td.amount::before { content: "금액 "; font-size: 13px; color: #888; }
  .qt-table td.tbd::before { content: ""; }
  .qt-table .qty input { width: 68px; height: 32px; }
  .qt-table td.del { position: absolute; right: 0; top: 14px; padding: 0; }

  .qt-preview { gap: 16px; padding: 16px; border-radius: 12px; }
  .qt-preview__thumb { width: 96px; }
  .qt-preview__thumb img { max-height: 96px; }
  .qt-preview__name { font-size: 16px; }
  .qt-preview__sub { font-size: 13px; }
  .qt-preview__desc { font-size: 13px; -webkit-line-clamp: 3; }

  .qt-empty { margin-top: 20px; padding: 40px 0; font-size: 14px; }

  .qt-sum dl { width: 100%; }

  .qt-form { margin-top: 40px; padding: 24px 20px; border-radius: 12px; }
  .qt-form__title { font-size: 19px; }
  .qt-form__grid { grid-template-columns: 1fr; gap: 14px; margin-top: 18px; }

  .qv { margin-top: 48px; }
  .qv-actions { flex-wrap: wrap; }
}

/* ── 인쇄 — 레퍼런스 방식: 지면만 보이게(visibility) + A4 ────────────── */
@media print {
  @page { size: A4; margin: 10mm; }
  body * { visibility: hidden !important; }
  #qv-sheet, #qv-sheet * { visibility: visible !important; }
  #qv-sheet {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
    border: 0;
    transform: none !important;
  }
  .no-print { display: none !important; }
  body { background: #fff; }
}
