/* Mobilní modály respektují iOS safe-area a mají stále dostupné zavření. */
@media (max-width: 760px) {
  .cloud-catalog .detail-modal,
  .cloud-catalog .account-modal,
  .cloud-catalog .player-modal:not(.is-expanded) {
    box-sizing: border-box;
    place-items: start center;
    overflow: hidden;
    padding:
      max(12px, env(safe-area-inset-top))
      max(8px, env(safe-area-inset-right))
      max(12px, env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left));
  }

  .cloud-catalog .detail-card,
  .cloud-catalog .account-card,
  .cloud-catalog .player-modal:not(.is-expanded) .player-card {
    width: 100%;
    max-height: calc(100vh - 24px);
    max-height: calc(
      100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom))
    );
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .cloud-catalog .detail-card > .modal-close,
  .cloud-catalog .account-card > .modal-close {
    position: fixed;
    z-index: 20;
    top: max(14px, calc(env(safe-area-inset-top) + 8px));
    right: max(14px, calc(env(safe-area-inset-right) + 10px));
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(5, 18, 11, .9);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .cloud-catalog .account-card {
    padding-top: 64px;
  }

  .cloud-catalog .player-modal:not(.is-expanded) .player-topline {
    position: sticky;
    z-index: 8;
    top: -14px;
    margin: -14px -14px 10px;
    padding: 14px;
    background: linear-gradient(180deg, rgba(8, 24, 15, .98), rgba(8, 24, 15, .82));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .cloud-catalog .player-modal.is-expanded .player-topline {
    padding-top: max(10px, calc(env(safe-area-inset-top) + 6px));
  }
}

