/* Definitive Fly with the Heart page: clean artwork + real expandable carousel */
#heart.heart-new{
  position:relative!important;
  min-height:100svh!important;
  height:100svh!important;
  overflow:hidden!important;
  background:#edf8ff url("assets/heart_new/heart-room-no-books.webp") center top/100% 100% no-repeat!important;
}
#heart.heart-new::before,#heart.heart-new::after,
#heart.heart-new .heart-poem,#heart.heart-new .heart-heading{display:none!important;content:none!important}
#heart.heart-new .heart-back{
  position:absolute!important;left:0!important;top:0!important;width:118px!important;height:72px!important;
  padding:0!important;border:0!important;background:transparent!important;color:transparent!important;
  box-shadow:none!important;z-index:100!important;cursor:pointer!important;
}
body:has(#heart.heart-new.current) #openMap{
  position:fixed!important;right:0!important;top:0!important;width:105px!important;height:105px!important;
  opacity:0!important;background:transparent!important;border:0!important;box-shadow:none!important;z-index:100!important;
}
#heart.heart-new .heart-library{
  position:absolute!important;left:5.2%!important;right:5.2%!important;bottom:3.2%!important;height:34%!important;
  min-height:250px!important;display:flex!important;align-items:center!important;gap:12px!important;
  padding:0!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important;z-index:30!important;
}
#heart.heart-new .heart-library::before,#heart.heart-new .heart-library::after{display:none!important;content:none!important}
#heart.heart-new .heart-viewport{
  flex:1 1 auto!important;height:100%!important;overflow-x:auto!important;overflow-y:hidden!important;
  scrollbar-width:none!important;scroll-behavior:smooth!important;cursor:grab!important;touch-action:pan-y!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)!important;
}
#heart.heart-new .heart-viewport::-webkit-scrollbar{display:none!important}
#heart.heart-new .heart-viewport.dragging{cursor:grabbing!important;scroll-behavior:auto!important;user-select:none!important}
#heart.heart-new .heart-track{
  display:flex!important;align-items:center!important;gap:20px!important;width:max-content!important;height:100%!important;
  padding:3px 18px!important;margin:0!important;
}
#heart.heart-new .heart-book{
  display:block!important;flex:0 0 auto!important;width:162px!important;height:243px!important;padding:0!important;margin:0!important;
  border:0!important;background:transparent!important;text-decoration:none!important;transition:transform .22s ease,filter .22s ease!important;
}
#heart.heart-new .heart-book img{
  display:block!important;width:162px!important;height:243px!important;object-fit:cover!important;
  border:2px solid rgba(201,157,67,.98)!important;border-radius:4px!important;
  box-shadow:0 12px 25px rgba(30,62,88,.28),0 0 0 1px rgba(255,255,255,.7) inset!important;
}
#heart.heart-new .heart-book span{display:none!important}
#heart.heart-new .heart-book:hover,#heart.heart-new .heart-book:focus-visible{transform:translateY(-8px) scale(1.03)!important;filter:brightness(1.04)!important;outline:none!important}
#heart.heart-new .heart-arrow{
  display:grid!important;place-items:center!important;position:relative!important;z-index:4!important;
  flex:0 0 50px!important;width:50px!important;height:70px!important;padding:0!important;
  border:1.5px solid #c99c42!important;border-radius:999px!important;background:rgba(255,255,255,.9)!important;
  color:#174f80!important;font:400 2.45rem/1 Georgia,serif!important;box-shadow:0 7px 18px rgba(34,58,78,.18)!important;cursor:pointer!important;
}
#heart.heart-new .heart-arrow:hover,#heart.heart-new .heart-arrow:focus-visible{transform:scale(1.07)!important;background:#fff9e8!important;outline:2px solid #d7ae58!important;outline-offset:2px!important}
@media(max-width:1100px){
 #heart.heart-new{background-size:auto 100%!important;background-position:center top!important}
 #heart.heart-new .heart-library{left:2%!important;right:2%!important;bottom:2.5%!important;height:34%!important;min-height:210px!important;gap:8px!important}
 #heart.heart-new .heart-track{gap:14px!important;padding-inline:10px!important}
 #heart.heart-new .heart-book,#heart.heart-new .heart-book img{width:126px!important;height:189px!important}
 #heart.heart-new .heart-arrow{flex-basis:40px!important;width:40px!important;height:58px!important;font-size:2rem!important}
}
