/* Bootstrap 5.3(CDN, base.html)이 대부분의 스타일을 담당하고, 여기엔 Bootstrap
   컴포넌트로 표현이 안 되는 최소한의 보조 클래스만 남긴다. */

/* 홈 화면 카테고리 그리드 링크 hover 배경 (list-group 밖이라 list-group-item-action의
   hover 스타일을 못 씀) */
.hover-bg:hover { background-color: var(--bs-tertiary-bg); }

/* 상세 페이지 속성/표 값 — 원본 텍스트의 의도된 줄바꿈을 보존 */
.value-text { white-space: pre-wrap; }

/* 항목 페이지 위키 댓글 — 붙여넣은 큰 이미지가 카드 밖으로 넘치지 않게 */
.wiki-comment-body img { max-width: 100%; height: auto; }
.wiki-comment-body p:last-child { margin-bottom: 0; }

/* 비교 페이지 — 가로 스크롤 시 첫 열(항목/속성 이름)은 왼쪽에 고정.
   세로 표는 고정 레이아웃이라 블록이 여러 개여도 항목 열 너비가 맞춰진다. */
.compare-table .compare-label {
  position: sticky;
  left: 0;
  z-index: 1;
  background-color: var(--bs-tertiary-bg);
}
.compare-vertical { table-layout: fixed; }
.compare-vertical .compare-label { width: 8rem; }
.compare-horizontal .compare-label { min-width: 12rem; }
.compare-horizontal td { white-space: nowrap; }

/* chat.ai 챗봇 임베드 (main의 p-3 패딩을 상쇄해서 iframe이 컨텐츠 영역을 꽉 채움) */
.chat-frame {
  display: block;
  width: 100%;
  height: 100%;
  margin: -1rem;
  border: none;
}

/* 사이드바(offcanvas-lg)가 데스크톱에서 고정 배치되는 lg 이상 구간에서, Bootstrap이
   .offcanvas-body에 overflow-y:visible을 강제하고 높이도 안 채워줘서 카테고리 그룹이
   길어지면 스크롤 없이 부모(.shell-row)의 overflow-hidden에 그냥 잘려나가던 문제 수정. */
.shell-row {
  /* flex item 기본값(min-height:auto)이 콘텐츠 크기만큼 부모를 늘려버려 vh-100을
     넘어가는 것 방지 — 이게 있어야 아래 #sidebar의 height:100%가 실제로 뷰포트에 맞게
     계산됨. */
  min-height: 0;
}
@media (min-width: 992px) {
  #sidebar.offcanvas-lg {
    height: 100% !important;
  }
  #sidebar.offcanvas-lg .offcanvas-body {
    height: 100%;
    overflow-y: auto !important;
  }
}

/* 저장 화면(/saved/<id>)의 스냅샷에서는 작업 목록을 바꾸는 빼기·비우기·검색을 숨긴다 — 입력을 바꾸려면 "입력 바꿔서 계산" */
[data-saved-snapshot] [data-produce-remove], [data-saved-snapshot] [data-produce-clear],
[data-saved-snapshot] [data-compare-remove], [data-saved-snapshot] [data-compare-clear],
[data-saved-snapshot] #produce-cart-search, [data-saved-snapshot] #compare-search { display: none !important; }
