/* Hana mobile one-screen-per-menu presentation, 2026-10-19.
   Only max-width:760px. The original map, inventory, PDF and Runner handlers remain intact. */
@media screen and (max-width:760px) {
  /* The list is its own usable screen rather than a sheet covering the map. */
  .public-results {
    position:fixed!important;inset:0 0 calc(68px + env(safe-area-inset-bottom,0px)) 0!important;
    width:100vw!important;max-width:100vw!important;height:auto!important;min-height:0!important;
    border-radius:0!important;z-index:96!important;border:0!important;
    transform:translateX(-101%)!important;box-shadow:none!important;
    background:#fff!important;overflow:hidden!important;
    transition:transform .19s ease-out!important;
  }
  .public-results.is-open{transform:translateX(0)!important}
  .public-main.hana-list-open .hana-map-list-backdrop{display:none!important}
  .public-results .hana-mobile-list-header{
    display:flex!important;align-items:center!important;gap:10px!important;
    flex:0 0 auto!important;min-height:58px!important;padding:8px 14px!important;
    border-bottom:1px solid #e4e9f0!important;background:#fff!important;
  }
  .hana-mobile-list-header strong{font-size:18px!important;color:#1f3148!important;line-height:1.3!important}
  .hana-mobile-page-back{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 auto!important;min-width:48px!important;min-height:44px!important;
    gap:5px!important;margin:0!important;padding:0 6px!important;
    border:0!important;border-radius:10px!important;background:transparent!important;
    color:#243951!important;font:700 15px/1.35 Pretendard,"Noto Sans KR",sans-serif!important;
    white-space:nowrap!important;cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .hana-mobile-page-back svg{width:22px!important;height:22px!important;flex:none!important;stroke:currentColor!important;stroke-width:2!important;fill:none!important}
  .hana-mobile-page-back:focus-visible{outline:3px solid #e99e68!important;outline-offset:1px!important}
  .public-results .property-rail{
    display:flex!important;flex:0 0 auto!important;
    gap:6px!important;min-height:64px!important;max-width:100vw!important;
    padding:6px 8px!important;overflow-x:auto!important;overflow-y:hidden!important;
    background:#102844!important;scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .public-results .property-rail::-webkit-scrollbar{display:none}
  .public-results .property-rail-item{min-height:48px!important;min-width:64px!important}
  .public-results-content{min-height:0!important;overflow:hidden!important}
  .public-results .results-heading{min-height:48px!important;height:auto!important;padding:7px 14px!important}
  .public-results .results-heading strong{display:none!important}
  .public-results .results-heading span{font-size:13px!important;margin:0!important}
  .public-results .public-list{
    min-height:0!important;max-height:none!important;overflow-y:auto!important;
    overscroll-behavior-y:contain!important;scrollbar-width:thin!important;
    padding:12px 10px 18px!important;
  }
  .public-results .listing-card{border:1px solid #e4eaf1!important;padding:12px!important;margin:0 0 10px!important;min-height:116px!important}
  .public-results .listing-title{font-size:15px!important}
  /* Selected listing occupies the entire phone display; the original content/controls are reused. */
  #public-detail.is-open,#public-detail.is-closing{
    position:fixed!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
    display:flex!important;flex-direction:column!important;
    box-sizing:border-box!important;width:100vw!important;max-width:100vw!important;
    height:100dvh!important;min-height:0!important;max-height:100dvh!important;
    margin:0!important;padding:0!important;z-index:140!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    background:#fff!important;color:#1b3049!important;
    overflow:hidden!important;overscroll-behavior:contain!important;
  }
  #public-detail.is-open{animation:hana-screen-enter .14s ease-out both!important}
  #public-detail.is-closing{animation:hana-screen-exit .13s ease-in both!important}
  #public-detail .hana-mobile-detail-header{
    position:relative!important;z-index:20!important;
    display:flex!important;align-items:center!important;gap:8px!important;
    flex:0 0 auto!important;min-height:60px!important;
    padding:max(7px,env(safe-area-inset-top,0px)) 12px 8px!important;
    background:#fff!important;border-bottom:1px solid #e7edf4!important;
  }
  .hana-mobile-detail-header strong{font-size:18px!important;font-weight:800!important;color:#213850!important}
  .hana-mobile-detail-header small{font-size:12px!important;color:#687991!important;margin-left:auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #public-detail .detail-drag-handle,#public-detail .detail-panel-heading{display:none!important}
  #public-detail #public-detail-close{display:none!important}
  #public-detail #public-detail-content{
    display:block!important;flex:1 1 auto!important;min-height:0!important;
    height:auto!important;max-height:none!important;overflow-y:auto!important;
    overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    padding:0 0 calc(24px + env(safe-area-inset-bottom,0px))!important;
  }
  #public-detail .detail-hero-frame{
    aspect-ratio:16/10!important;min-height:190px!important;
    max-height:min(44dvh,340px)!important;width:100%!important;
    border-radius:0!important;
  }
  #public-detail .detail-hero{height:100%!important;min-height:190px!important;max-height:340px!important;object-fit:cover!important}
  #public-detail .detail-body{padding:16px!important}
  #public-detail .detail-price{font-size:25px!important;line-height:1.4!important}
  #public-detail .detail-title{font-size:19px!important;line-height:1.45!important}
  #public-detail .detail-fields,#public-detail .detail-core-grid{gap:12px!important}
  #public-detail :is(button,a){touch-action:manipulation}
  #public-detail :is(.detail-edit-button,.detail-contract-toggle){position:relative!important}
  body.hana-mobile-detail-page .hana-map-bottom-nav{visibility:hidden!important;pointer-events:none!important}
  /* Dedicated full-screen filter with explicit apply and go-back controls. */
  #public-filter-popover:not([hidden]){
    display:flex!important;flex-direction:column!important;
    position:fixed!important;inset:0!important;top:0!important;bottom:0!important;
    box-sizing:border-box!important;z-index:150!important;
    width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:#fff!important;box-shadow:none!important;overflow-y:auto!important;
  }
  #public-filter-popover[hidden]{display:none!important}
  #public-filter-popover .hana-mobile-filter-header{
    position:sticky!important;top:0!important;z-index:2!important;
    display:flex!important;align-items:center!important;flex:0 0 auto!important;
    gap:8px!important;min-height:61px!important;padding:8px 14px!important;
    background:#fff!important;border-bottom:1px solid #e6ebf2!important;
  }
  .hana-mobile-filter-header strong{font-size:19px!important;color:#1d344d!important}
  #public-filter-popover .public-filter-popover-heading,
  #public-filter-popover .public-filter-chips,
  #public-filter-popover .public-filter-popover-row,
  #public-filter-popover .public-filter-popover-actions{margin:12px 16px!important}
  #public-filter-popover .public-filter-chips{align-content:flex-start!important}
  #public-filter-popover .public-filter-popover-row{flex-wrap:wrap!important;gap:14px!important}
  #public-filter-popover input[type=number]{min-height:48px!important;font-size:16px!important}
  #public-filter-popover .hana-mobile-filter-footer{
    position:sticky!important;bottom:0!important;z-index:2!important;margin-top:auto!important;
    flex:0 0 auto!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;
    background:#fff!important;border-top:1px solid #e6ebf2!important;
  }
  #public-filter-popover .hana-mobile-filter-apply{
    width:100%!important;min-height:50px!important;border:0!important;border-radius:12px!important;
    background:#e87524!important;color:#fff!important;
    font-size:16px!important;font-weight:800!important;
  }
  body.hana-mobile-filter-page .hana-map-bottom-nav{visibility:hidden!important;pointer-events:none!important}
  /* FocusIn TV is another separate phone page; existing video controls remain. */
  .public-youtube-drawer.is-open{
    position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
    display:flex!important;z-index:145!important;width:100vw!important;max-width:100vw!important;
    height:100dvh!important;max-height:100dvh!important;
    padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
    background:#fff!important;transform:none!important;overflow:hidden!important;
  }
  .public-youtube-drawer.is-open .public-youtube-list{flex:1!important;overflow-y:auto!important;padding:12px!important}
  .public-youtube-drawer .public-youtube-heading{min-height:60px!important;gap:9px!important;border-bottom:1px solid #e4e9ef!important;padding:8px 14px!important}
  .public-youtube-drawer .hana-mobile-youtube-back{margin-left:-6px!important}
  body.hana-mobile-youtube-page .hana-map-bottom-nav{visibility:hidden!important}
  @keyframes hana-screen-enter{from{opacity:.75;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
  @keyframes hana-screen-exit{from{opacity:1;transform:translateX(0)}to{opacity:.45;transform:translateX(100vw)}}
}
/* The official registry PDF viewer already owns its document operations; its phone layout fills the viewport. */
@media screen and (max-width:760px){
  body:has(#pages){height:100dvh!important;max-height:100dvh!important;min-width:0!important;overflow:hidden!important;background:#eef2f6!important}
  body:has(#pages) header{
    flex:0 0 auto!important;display:flex!important;flex-direction:column!important;
    align-items:stretch!important;gap:5px!important;padding:6px 12px 8px!important;
    background:#fff!important;
  }
  body:has(#pages) .hana-mobile-registry-top{
    display:flex!important;align-items:center!important;gap:10px!important;min-height:45px!important
  }
  body:has(#pages) h1{margin:0!important;font-size:17px!important}
  body:has(#pages) #identity{max-height:42px!important;overflow:auto!important;font-size:12px!important;line-height:1.5!important}
  body:has(#pages) #status{max-width:100%!important;text-align:left!important;white-space:normal!important;font-size:12px!important}
  body:has(#pages) #document-tabs{flex:0 0 auto!important;max-height:54px!important;padding:6px 9px!important;overflow-x:auto!important}
  body:has(#pages) nav{
    flex:0 0 auto!important;display:flex!important;flex-wrap:nowrap!important;
    gap:6px!important;max-width:100vw!important;min-height:52px!important;
    padding:6px 9px!important;overflow-x:auto!important;overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;
  }
  body:has(#pages) nav button{min-height:44px!important;min-width:42px!important;flex:0 0 auto!important;padding:6px 9px!important}
  body:has(#pages) #page-label{flex:0 0 auto!important;min-width:56px!important}
  body:has(#pages) #pages{
    flex:1 1 auto!important;min-height:0!important;width:100vw!important;max-width:100vw!important;
    padding:10px 7px!important;overflow:auto!important;overscroll-behavior:contain!important;
    text-align:center!important;-webkit-overflow-scrolling:touch!important;
  }
  body:has(#pages) .pdf-page{margin:0 auto 10px!important;max-width:none!important}
  body:has(#pages) footer{
    flex:0 0 auto!important;display:flex!important;align-items:center!important;
    gap:8px!important;max-width:100vw!important;
    padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))!important;
    background:#fff!important;
  }
  body:has(#pages) footer button{min-height:46px!important;min-width:0!important;flex:1 1 auto!important;font-size:15px!important;font-weight:750!important;padding:6px!important}
  body:has(#pages) #export-message{position:absolute!important;left:8px!important;right:8px!important;bottom:66px!important;padding:7px!important;border:1px solid #c9e0d1!important;border-radius:8px!important;background:#fff!important;text-align:center!important}
}
@media(prefers-reduced-motion:reduce){
  @media screen and (max-width:760px){
    #public-detail.is-open,#public-detail.is-closing,.public-results{animation:none!important;transition:none!important}
  }
}
@media(min-width:761px),print{
  .hana-mobile-list-header,.hana-mobile-detail-header,.hana-mobile-filter-header,.hana-mobile-filter-footer,.hana-mobile-registry-top,.hana-mobile-youtube-back{display:none!important}
}

/* Phone-only typographic identity. Original image asset and PC logo remain untouched. */
@media screen and (max-width:760px){
 .public-header .public-brand{
   display:flex!important;align-items:center!important;justify-content:flex-start!important;
   gap:7px!important;max-width:calc(100% - 96px)!important;
   min-height:42px!important;padding:3px 0!important;border:0!important;
   background:transparent!important;box-shadow:none!important;color-scheme:light!important;
 }
 .public-header .public-brand img,.public-header .public-brand img[data-brand-logo]{display:none!important}
 .public-header .public-brand::before{
   content:"하나부동산";display:inline-block!important;flex:0 0 auto!important;
   color:#153653!important;font-size:19px!important;font-weight:850!important;
   line-height:1.1!important;letter-spacing:-.05em!important;
   font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif!important;
 }
 .public-header .public-brand::after{
   content:"매물지도";display:inline-flex!important;align-items:center!important;justify-content:center!important;
   flex:0 0 auto!important;min-height:23px!important;padding:2px 7px!important;
   background:#fff1e5!important;border:1px solid #f0cbaa!important;border-radius:6px!important;
   color:#a5521a!important;font-size:11px!important;font-weight:800!important;
 }
 .public-header .public-brand.hana-mobile-light-logo{background:transparent!important;border:0!important;box-shadow:none!important}
 .public-header .public-brand:focus-visible{outline:3px solid #f2aa75!important;outline-offset:1px!important}
 .public-youtube-player-overlay:not([hidden]){
   position:fixed!important;inset:0!important;z-index:180!important;
   display:grid!important;place-items:center!important;
   padding:10px!important;background:#122844aa!important;
 }
}
@media screen and (max-width:359px){
 .public-header .public-brand::before{font-size:17px!important}
 .public-header .public-brand::after{font-size:10px!important;padding:2px 5px!important}
}
