/* Desktop-specific Books corrections — August 1, 2026.
 * Keep the phone Calendar treatment on phones while restoring the original
 * hover/fan-out calendar for mouse-driven desktop windows, even when resized.
 */

@media (min-width: 601px) and (hover: hover) and (pointer: fine) {
  /* Restore the pre-mobile-pass desktop Calendar geometry. */
  .books-calendar-desktop {
    display: block !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }

  .books-calendar-agenda,
  .books-calendar-mobile-activity {
    display: none !important;
  }

  .books-calendar-weekdays {
    border-radius: 16px 16px 0 0 !important;
  }

  .books-calendar-weekdays span {
    padding: 9px 6px !important;
    font-size: .7rem !important;
    letter-spacing: .04em !important;
  }

  .books-calendar-grid {
    overflow: visible !important;
    border-radius: 0 0 16px 16px !important;
  }

  .books-calendar-day {
    min-height: clamp(142px, 11vw, 194px) !important;
    padding: 8px !important;
    overflow: visible !important;
  }

  .books-calendar-day:has(.is-stack:hover),
  .books-calendar-day:has(.is-stack:focus-within),
  .books-calendar-day[data-stack-expanded="true"] {
    z-index: 30 !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .16) !important;
  }

  .books-calendar-day-number {
    z-index: 42 !important;
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 6px !important;
    font-size: .74rem !important;
  }

  .books-calendar-day-covers,
  .books-calendar-day-covers.is-single,
  .books-calendar-day-covers.is-stack {
    inset: 36px 8px 8px !important;
  }

  .books-calendar-day-covers.is-single .books-calendar-cover {
    width: auto !important;
    height: 100% !important;
    max-width: 88% !important;
    max-height: 148px !important;
    aspect-ratio: 2 / 3 !important;
  }

  .books-calendar-day-covers.is-stack {
    position: absolute !important;
    display: block !important;
    align-items: normal !important;
    justify-content: normal !important;
    pointer-events: none !important;
    cursor: default !important;
  }

  .books-calendar-day-covers.is-stack .books-calendar-cover,
  .books-calendar-day-covers.is-stack:hover .books-calendar-cover,
  .books-calendar-day-covers.is-stack:focus-within .books-calendar-cover,
  .books-calendar-day-covers.is-stack.is-expanded .books-calendar-cover {
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    width: min(60%, 66px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    aspect-ratio: 2 / 3 !important;
    pointer-events: auto !important;
    transform: translateX(calc(-50% + var(--collapsed-shift))) rotate(var(--collapsed-rotation)) !important;
    transform-origin: 50% 100% !important;
  }

  .books-calendar-day-covers.is-stack:hover .books-calendar-cover,
  .books-calendar-day-covers.is-stack:focus-within .books-calendar-cover,
  .books-calendar-day-covers.is-stack.is-expanded .books-calendar-cover {
    transform: translateX(calc(-50% + var(--splay-shift))) translateY(-5px) rotate(var(--splay-rotation)) !important;
  }

  .books-calendar-day-covers.is-stack .books-calendar-cover:hover,
  .books-calendar-day-covers.is-stack .books-calendar-cover:focus-visible {
    z-index: 80 !important;
    filter: drop-shadow(0 9px 13px rgba(15, 23, 42, .22)) !important;
    transform: translateX(calc(-50% + var(--splay-shift))) translateY(-11px) rotate(0deg) scale(1.08) !important;
  }

  .books-calendar-day-covers.is-stack .books-calendar-cover:nth-of-type(n + 3) {
    display: block !important;
  }

  .books-calendar-stack-toggle {
    display: block !important;
  }

  .books-calendar-stack-overflow {
    display: none !important;
  }

  /* Restore the compact desktop day-detail list instead of the phone cover picker. */
  .books-calendar-dialog {
    width: min(650px, calc(100vw - 28px)) !important;
    max-height: min(82vh, 760px) !important;
    border-radius: 22px !important;
  }

  .books-calendar-dialog-shell {
    max-height: min(82vh, 760px) !important;
    padding: 20px !important;
  }

  .books-calendar-dialog-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .books-calendar-dialog-book {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) auto !important;
    gap: 11px !important;
    align-items: center !important;
    padding: 8px !important;
    border-radius: 13px !important;
    text-align: left !important;
  }

  .books-calendar-dialog-book img {
    width: 54px !important;
    height: 81px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    border-radius: 6px !important;
  }

  .books-calendar-dialog-copy {
    display: flex !important;
    margin-top: 0 !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  .books-calendar-dialog-copy strong {
    display: block !important;
    overflow: hidden !important;
    font-size: .9rem !important;
    line-height: normal !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    -webkit-line-clamp: unset !important;
  }

  .books-calendar-dialog-copy span,
  .books-calendar-dialog-copy small {
    margin-top: 0 !important;
    overflow: hidden !important;
    font-size: .74rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .books-calendar-dialog-cue {
    display: block !important;
  }

  /* Milestone Shelf: exactly four cards per row on desktop. It now grows down
     naturally as more 50-book milestones are added instead of becoming a long
     horizontal scroller. */
  .books-record-milestone-track {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow-x: visible !important;
    padding: 5px 0 2px !important;
    scroll-snap-type: none !important;
  }

  .books-record-milestone {
    padding-top: 30px !important;
  }

  .books-record-milestone > span {
    top: 0 !important;
    left: 8px !important;
  }

  .books-record-milestone > i {
    display: none !important;
  }

  .books-record-milestone .books-record-book-card {
    min-height: 124px !important;
    height: 100% !important;
    padding: 9px !important;
  }

  .books-record-milestone .books-record-book-main {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  .books-record-milestone .books-record-cover-wrap {
    width: 68px !important;
    height: 102px !important;
  }

  .books-record-milestone .books-record-book-copy strong {
    font-size: .82rem !important;
  }

  .books-record-milestone .books-record-book-copy small {
    white-space: normal !important;
  }
}
