
/* Danmi v47 — songbook list frame fully visible */

/*
  노래책 목록의 바깥 둥근 사각형 자체가 화면 아래에 잘리지 않도록
  바깥 프레임과 실제 스크롤 영역을 분리한다.
*/
#routePage.route-songbook-mode .route-page-body {
  box-sizing: border-box !important;
  padding-bottom: 12px !important;
}

#routePage.route-songbook-mode .route-song-table {
  box-sizing: border-box !important;
  min-height: 0 !important;
  margin: 0 0 2px !important;
  padding: 7px !important;
  border: 1px solid rgba(112, 77, 132, .22) !important;
  border-radius: 18px !important;
  background-clip: padding-box !important;
  overflow: hidden !important;
}

/* 컬럼 헤더도 프레임 내부에서 잘리지 않게 한다. */
#routePage.route-songbook-mode .route-song-header {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  border-radius: 13px !important;
  flex: 0 0 auto !important;
}

/*
  실제 스크롤은 목록 안쪽에서만 일어난다.
  마지막 행 이후에 충분한 빈 공간을 확보하여
  마지막 카드의 둥근 모서리와 아래 선까지 전부 보인다.
*/
#routePage.route-songbook-mode .route-song-list {
  box-sizing: border-box !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding: 2px 3px 44px !important;
  scroll-padding-bottom: 44px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#routePage.route-songbook-mode .route-song-row {
  box-sizing: border-box !important;
  flex: none !important;
}

#routePage.route-songbook-mode .route-song-row:last-child {
  margin-bottom: 8px !important;
}

/* 프레임의 아래쪽 선을 다른 요소가 덮지 않게 한다. */
#routePage.route-songbook-mode .route-song-table::before,
#routePage.route-songbook-mode .route-song-table::after {
  content: none !important;
  display: none !important;
}

html[data-theme="dark"] #routePage.route-songbook-mode .route-song-table,
body.dark-mode #routePage.route-songbook-mode .route-song-table {
  border-color: rgba(220, 194, 255, .20) !important;
}

/* PC: 목록 프레임 아래쪽에 실제 화면 여백 확보 */
@media (min-width: 761px) {
  #routePage.route-songbook-mode:not([hidden]) {
    padding-bottom: 10px !important;
  }

  #routePage.route-songbook-mode .route-page-body {
    padding-bottom: 10px !important;
  }

  #routePage.route-songbook-mode .route-song-table {
    margin-bottom: 4px !important;
    padding-bottom: 8px !important;
  }

  #routePage.route-songbook-mode .route-song-list {
    padding-bottom: 48px !important;
    scroll-padding-bottom: 48px !important;
  }
}

/* 모바일: 하단 내비게이션 + safe area에 프레임이 닿지 않도록 더 띄움 */
@media (max-width: 760px) {
  #routePage.route-songbook-mode .route-page-body {
    padding-bottom: calc(14px + env(safe-area-inset-bottom)) !important;
  }

  #routePage.route-songbook-mode .route-song-table {
    padding: 5px !important;
    margin-bottom: 4px !important;
    border-radius: 16px !important;
  }

  #routePage.route-songbook-mode .route-song-header {
    margin-bottom: 5px !important;
    border-radius: 12px !important;
  }

  #routePage.route-songbook-mode .route-song-list {
    padding: 2px 2px calc(54px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(54px + env(safe-area-inset-bottom)) !important;
  }

  #routePage.route-songbook-mode .route-song-row:last-child {
    margin-bottom: 10px !important;
  }
}
