
/* ============================================================
   v47 PWA dropdown + modal polish
   1) Mobile selects open as floating dropdowns near the field,
      not as bottom sheets from the bottom of the screen.
   2) Bottom PWA navigation is hidden while select/modal is open.
   3) Mobile modals get rounded bottom corners and cleaner layout.
   ============================================================ */

@media(max-width:860px){
  html.pvz-select-open,
  body.pvz-select-open{
    overflow:hidden!important;
  }

  /* Убираем старую механику bottom-sheet из предыдущих фиксов */
  .pvz-select-backdrop{
    display:none!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .custom-select.is-open::before,
  .salary-v5-select.is-open::before{
    content:none!important;
    display:none!important;
    pointer-events:none!important;
  }

  /* Нижнее меню не должно залезать на открытые списки и модалки */
  body.pvz-select-open .mobile-bottom,
  body.pvz-any-modal-open .mobile-bottom,
  body.modal-is-open .mobile-bottom,
  body.lock-scroll .mobile-bottom,
  body.pvz-dialog-open .mobile-bottom{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,110%,0)!important;
    transition:opacity .14s ease, transform .16s ease!important;
  }

  .custom-select.is-open,
  .salary-v5-select.is-open{
    z-index:2147483400!important;
  }

  /* Floating dropdown вместо нижнего sheet */
  .custom-select.is-open .custom-select__menu{
    position:fixed!important;
    left:var(--pvz-select-left, 20px)!important;
    top:var(--pvz-select-top, auto)!important;
    right:auto!important;
    bottom:auto!important;
    width:var(--pvz-select-width, calc(100vw - 40px))!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    display:block!important;
    box-sizing:border-box!important;
    z-index:2147483500!important;
    max-height:var(--pvz-select-max-height, 320px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px!important;
    border-radius:20px!important;
    border:1px solid rgba(213,226,255,.95)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 22px 60px rgba(15,23,42,.18), 0 0 0 1px rgba(255,255,255,.8) inset!important;
    animation:pvzDropdownIn .16s cubic-bezier(.2,.8,.2,1) both!important;
    transform-origin:var(--pvz-select-origin, top center)!important;
  }

  .custom-select.is-open .custom-select__menu::before{
    content:none!important;
    display:none!important;
  }

  .custom-select__option{
    min-height:50px!important;
    padding:13px 15px!important;
    border-radius:15px!important;
    font-size:18px!important;
    line-height:1.18!important;
    color:#344054!important;
    background:transparent!important;
    margin:1px 0!important;
  }

  .custom-select__option:hover,
  .custom-select__option:active{
    background:#f3f7ff!important;
    color:#1f4fd8!important;
  }

  .custom-select__option.is-selected{
    background:#eef4ff!important;
    border:1px solid #d5e3ff!important;
    color:#1f4fd8!important;
    font-weight:850!important;
  }

  .custom-select__option-text{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .custom-select__check{
    color:#2f6bff!important;
    font-size:20px!important;
    width:24px!important;
  }

  /* Salary selects тоже floating dropdown */
  .salary-v5-select.is-open .salary-v5-select__menu{
    position:fixed!important;
    left:var(--pvz-select-left, 20px)!important;
    top:var(--pvz-select-top, auto)!important;
    right:auto!important;
    bottom:auto!important;
    width:var(--pvz-select-width, calc(100vw - 40px))!important;
    max-width:calc(100vw - 24px)!important;
    display:block!important;
    box-sizing:border-box!important;
    z-index:2147483500!important;
    max-height:var(--pvz-select-max-height, 320px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px!important;
    border-radius:20px!important;
    border:1px solid rgba(213,226,255,.95)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 22px 60px rgba(15,23,42,.18), 0 0 0 1px rgba(255,255,255,.8) inset!important;
    animation:pvzDropdownIn .16s cubic-bezier(.2,.8,.2,1) both!important;
    transform-origin:var(--pvz-select-origin, top center)!important;
  }

  .salary-v5-select.is-open .salary-v5-select__menu::before{
    content:none!important;
    display:none!important;
  }

  .salary-v5-option{
    min-height:50px!important;
    border-radius:15px!important;
    padding:13px 15px!important;
    font-size:17px!important;
  }

  /* Модалки: красивый низ, без квадратных углов */
  #modalBackdrop,
  .modal-backdrop,
  .salary-v5-modal-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:2147483100!important;
    background:rgba(15,23,42,.38)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    backdrop-filter:blur(8px)!important;
    align-items:center!important;
    justify-content:center!important;
    padding:18px!important;
    box-sizing:border-box!important;
  }

  .modal,
  .modal-card,
  .dialog,
  .salary-v5-modal{
    width:min(92vw, 520px)!important;
    max-height:calc(100dvh - 58px)!important;
    border-radius:28px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 28px 80px rgba(15,23,42,.24)!important;
  }

  .modal__body,
  .modal-body,
  .dialog__body,
  .salary-v5-modal__body,
  .modal form{
    max-height:calc(100dvh - 190px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .modal__header,
  .modal-header,
  .dialog__header,
  .salary-v5-modal__head{
    border-radius:28px 28px 0 0!important;
  }

  .modal__footer,
  .modal-footer,
  .dialog__footer,
  .salary-v5-modal__foot{
    border-radius:0 0 28px 28px!important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px))!important;
  }

  .modal .btn:last-child,
  .modal button:last-child,
  .salary-v5-modal .btn:last-child{
    margin-bottom:0!important;
  }
}

@keyframes pvzDropdownIn{
  from{opacity:0; transform:translate3d(0,-6px,0) scale(.985);}
  to{opacity:1; transform:translate3d(0,0,0) scale(1);}
}
