/* HANA mobile map bottom sheets 2026-10-19.
   Phone-only visual layer, existing DOM and actions, never used on PC. */
@media screen and (max-width:760px){
 :root{--hana-sheet-nav:calc(68px + env(safe-area-inset-bottom,0px));--hana-sheet-top:160px;--hana-sheet-peek:88px;}
 /* Original list: retain its buttons/filters/cards, change only sheet geometry. */
 .public-results.hana-bottom-sheet{
   position:fixed!important;inset:auto 0 var(--hana-sheet-nav) 0!important;
   display:flex!important;flex-direction:column!important;
   width:100%!important;max-width:100%!important;
   height:calc(100dvh - var(--hana-sheet-nav) - var(--hana-sheet-top))!important;
   min-height:0!important;max-height:none!important;
   padding:0!important;border:1px solid #e2e7ed!important;
   border-bottom:0!important;border-radius:20px 20px 0 0!important;
   z-index:96!important;background:#fff!important;box-shadow:0 -7px 28px #132f4c26!important;
   will-change:transform;overflow:hidden!important;
   animation:none!important;transition:transform .23s cubic-bezier(.2,.8,.2,1)!important;
   transform:translateY(calc(100% + 4px))!important;
   touch-action:pan-y!important;
 }
 .public-results.hana-bottom-sheet:not(.is-open){
   visibility:hidden!important;pointer-events:none!important;transition:none!important;
 }
 .public-results.hana-bottom-sheet.is-open:not([data-hana-snap=full]){
   transform:translateY(calc(100% - min(60dvh,570px) + var(--hana-drag-offset,0px)))!important;
 }
 .public-results.hana-bottom-sheet.is-open[data-hana-snap=full]{transform:translateY(var(--hana-drag-offset,0px))!important}
 .public-results.hana-bottom-sheet.hana-sheet-dragging{transition:none!important}
 .public-results.hana-bottom-sheet .hana-mobile-list-header{
   order:1!important;flex:0 0 auto!important;
   min-height:51px!important;height:51px!important;
   padding:3px 16px 9px!important;border:0!important;
   background:transparent!important;
 }
 .public-results.hana-bottom-sheet .hana-mobile-list-header .hana-mobile-page-back{
   min-height:42px!important;min-width:40px!important;
 }
 .public-results.hana-bottom-sheet .hana-mobile-list-header strong{font-size:18px!important}
 .hana-sheet-count{margin-left:auto;color:#78879b;font-size:13px;font-weight:700;white-space:nowrap}
 .hana-sheet-grabbar{
   position:relative;order:0;z-index:3;flex:0 0 26px;
   display:flex;justify-content:center;align-items:center;
   box-sizing:border-box;width:100%;height:26px;
   padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
   background:transparent!important;cursor:grab;touch-action:none!important;
   -webkit-tap-highlight-color:transparent!important;user-select:none!important;
 }
 .hana-sheet-grabbar::before{
   content:"";display:block;width:43px;height:5px;
   border-radius:9px;background:#c4cdd6;pointer-events:none;
 }
 .hana-sheet-grabbar:active{cursor:grabbing}
 .hana-sheet-grabbar:focus-visible{outline:3px solid #ed8f40;outline-offset:-3px}
 .public-results.hana-bottom-sheet .property-rail{
   order:2!important;flex:0 0 auto!important;min-height:62px!important;
   background:#102844!important;border-bottom:1px solid #294258!important;
 }
 .public-results.hana-bottom-sheet .public-results-content{
   order:3!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
 }
 .public-results.hana-bottom-sheet .results-heading{min-height:43px!important;max-height:43px!important}
 .public-results.hana-bottom-sheet .public-list{
   flex:1 1 auto!important;min-height:0!important;
   overflow-y:auto!important;overscroll-behavior:contain!important;
   -webkit-overflow-scrolling:touch!important;
   padding:10px 12px 22px!important;
 }
 /* Detail inherits its existing content and controls, but opens at the lower edge. */
 #public-detail.hana-bottom-sheet.is-open,
 #public-detail.hana-bottom-sheet.is-closing{
   position:fixed!important;inset:auto 0 0 0!important;
   width:100%!important;max-width:100%!important;
   height:calc(100dvh - var(--hana-sheet-top))!important;
   min-height:0!important;max-height:none!important;
   display:flex!important;flex-direction:column!important;
   padding:0!important;margin:0!important;
   z-index:145!important;background:#fff!important;color:#243951!important;
   border:0!important;border-radius:20px 20px 0 0!important;
   box-shadow:0 -8px 28px #0d274255!important;
   overflow:hidden!important;overscroll-behavior:contain!important;
   animation:none!important;transition:transform .23s cubic-bezier(.2,.8,.2,1)!important;
   transform:translateY(calc(100% - min(64dvh,590px) + var(--hana-drag-offset,0px)))!important;
 }
 #public-detail.hana-bottom-sheet.is-open[data-hana-snap=full]{transform:translateY(var(--hana-drag-offset,0px))!important}
 #public-detail.hana-bottom-sheet.hana-sheet-dragging{transition:none!important}
 #public-detail.hana-bottom-sheet.is-closing{
   transform:translateY(101%)!important;transition:transform .13s ease-in!important;
 }
 #public-detail.hana-bottom-sheet>.hana-sheet-grabbar{
   order:0!important;min-height:26px!important;flex:0 0 26px!important;
 }
 #public-detail.hana-bottom-sheet>.hana-mobile-detail-header{
   order:1!important;min-height:51px!important;
   flex:0 0 51px!important;padding:2px 12px 6px!important;
   background:transparent!important;border-bottom:1px solid #e5eaf0!important;
 }
 #public-detail.hana-bottom-sheet>.hana-mobile-detail-header strong{
   font-size:17px!important;font-weight:800!important;
 }
 #public-detail.hana-bottom-sheet>#public-detail-content{
   order:2!important;flex:1 1 auto!important;min-height:0!important;
   width:100%!important;max-height:none!important;
   overflow-y:auto!important;overscroll-behavior:contain!important;
   -webkit-overflow-scrolling:touch!important;
   padding:0 0 calc(20px + env(safe-area-inset-bottom,0px))!important;
 }
 #public-detail.hana-bottom-sheet .detail-hero-frame{
   min-height:178px!important;max-height:290px!important;
   aspect-ratio:16/9!important;
 }
 #public-detail.hana-bottom-sheet .detail-hero{
   min-height:178px!important;max-height:290px!important;object-fit:cover!important;
 }
 #public-detail.hana-bottom-sheet .detail-body{padding:15px!important}
 #public-detail.hana-bottom-sheet .detail-price{font-size:23px!important}
 #public-detail.hana-bottom-sheet .group-list .group-item{
   min-height:90px!important;border-radius:11px!important;
 }
 /* Detail is a sheet. The standard map nav stays hidden while it is open. */
 body.hana-mobile-detail-page .hana-map-bottom-nav{visibility:hidden!important}
 .public-results.hana-bottom-sheet .hana-mobile-list-header,
 #public-detail.hana-bottom-sheet .hana-mobile-detail-header{
   touch-action:none!important;user-select:none!important;
 }
 .public-results.hana-bottom-sheet .hana-mobile-list-header button,
 #public-detail.hana-bottom-sheet .hana-mobile-detail-header button{touch-action:manipulation!important}
 .public-results.hana-bottom-sheet:not(.is-open) .property-rail,
 .public-results.hana-bottom-sheet:not(.is-open) .public-results-content{
   pointer-events:none!important;
 }
 .public-results.hana-bottom-sheet.is-open .property-rail,
 .public-results.hana-bottom-sheet.is-open .public-results-content{pointer-events:auto!important}
 .public-main.hana-list-open .hana-map-list-backdrop{display:none!important}
 @media(prefers-reduced-motion:reduce){
   .public-results.hana-bottom-sheet,#public-detail.hana-bottom-sheet{
     transition:none!important;
   }
 }
}
@media screen and (max-width:760px) and (prefers-color-scheme:dark){
 .public-results.hana-bottom-sheet,#public-detail.hana-bottom-sheet.is-open{
   background:#1b1d23!important;color:#f1f2f4!important;
   border-color:#353943!important;
 }
 .public-results.hana-bottom-sheet .hana-mobile-list-header,
 #public-detail.hana-bottom-sheet .hana-mobile-detail-header{
   background:#1b1d23!important;color:#f1f2f4!important;border-color:#353943!important;
 }
 .public-results.hana-bottom-sheet .hana-mobile-list-header strong,
 #public-detail.hana-bottom-sheet .hana-mobile-detail-header strong{
   color:#f1f2f4!important;
 }
 .public-results.hana-bottom-sheet .hana-mobile-page-back,
 #public-detail.hana-bottom-sheet .hana-mobile-page-back{color:#f1f2f4!important}
 .public-results.hana-bottom-sheet .public-results-content{background:#1b1d23!important}
 .public-results.hana-bottom-sheet .public-list{background:#1b1d23!important}
 .public-results.hana-bottom-sheet .listing-card{
   background:#1b1d23!important;border-color:#32353e!important;
   color:#e9ecf1!important;
 }
 .public-results.hana-bottom-sheet .listing-price{color:#f5f6f8!important}
 .public-results.hana-bottom-sheet .listing-title{color:#eaedf2!important}
 .public-results.hana-bottom-sheet .listing-meta,
 .public-results.hana-bottom-sheet .listing-address{color:#afb7c3!important}
 #public-detail.hana-bottom-sheet .detail-body{background:#1b1d23!important;color:#e3e8ee!important}
 #public-detail.hana-bottom-sheet .detail-price,#public-detail.hana-bottom-sheet .detail-title{
   color:#f5f6f8!important
 }
 #public-detail.hana-bottom-sheet .detail-address{color:#bac4d0!important}
 #public-detail.hana-bottom-sheet .group-list .listing-card{background:#20242b!important;color:#eef1f5!important;border-color:#393e48!important}
 .hana-sheet-grabbar::before{background:#717784}
}
@media screen and (min-width:761px),print{
 .hana-sheet-grabbar,.hana-sheet-count{display:none!important}
}

/* High-contrast dark-mode property facts inside the original detail content. */
@media screen and (max-width:760px) and (prefers-color-scheme:dark){
 #public-detail.hana-bottom-sheet .detail-body,
 #public-detail.hana-bottom-sheet .detail-section,
 #public-detail.hana-bottom-sheet .detail-fields,
 #public-detail.hana-bottom-sheet .detail-description,
 #public-detail.hana-bottom-sheet .detail-core-grid,
 #public-detail.hana-bottom-sheet .detail-options{
   background:#1b1d23!important;color:#ecf0f5!important;
 }
 #public-detail.hana-bottom-sheet :is(
   .detail-section-heading,.detail-section-heading h3,.detail-section-heading strong,
   .detail-core-item,.detail-core-item strong,.detail-core-item small,
   .detail-field,.detail-field dt,.detail-field dd,
   .detail-section h3,.detail-section h4,.detail-description,
   .detail-description-text,.detail-address,.detail-option,.detail-option span,
   .detail-group,.group-item strong,.group-item span
 ){
   color:#e8edf4!important;
 }
 #public-detail.hana-bottom-sheet :is(.detail-core-item small,.detail-field dt,.detail-address,.detail-description p,.group-item small){
   color:#bdc9d7!important;
 }
 #public-detail.hana-bottom-sheet .detail-core-icon,
 #public-detail.hana-bottom-sheet .detail-option-icon{color:#bcd0e6!important}
 #public-detail.hana-bottom-sheet .detail-core-icon svg,
 #public-detail.hana-bottom-sheet .detail-option-icon svg{stroke:currentColor!important}
 #public-detail.hana-bottom-sheet :is(.detail-chip,.detail-option,.detail-group,.group-item,.detail-core-item){
   border-color:#343a46!important;
 }
 #public-detail.hana-bottom-sheet :is(.detail-chip,.detail-option,.detail-group,.group-item){
   background:#252932!important;color:#e8ecf2!important;
 }
 #public-detail.hana-bottom-sheet :is(.detail-section,.detail-description,.detail-core-info){
   border-color:#363d49!important;
 }
}

/* Open each phone sheet at its final position; a settling animation moved tap targets. */
@media screen and (max-width:760px){
 .public-results.hana-bottom-sheet,#public-detail.hana-bottom-sheet.is-open,#public-detail.hana-bottom-sheet.is-closing{transition:none!important}
}

@media screen and (max-width:760px){
  #public-detail .detail-photo-thumbs{touch-action:pan-x!important}
  #public-detail .detail-hero{touch-action:none!important}
}
